bash PATH는 어디에 설정 했습니까?


9

~/binPATH에서 제거 하고 싶습니다. 몇 달 전에 리눅스 (우분투)가 처음 생겼을 때 그것을 설정했지만 어떻게 추가했는지 모르겠습니다 ...

아래 나열된 모든 파일을 검색해도 아무것도 표시되지 않습니다.
다른 곳을 설정할 수 있습니까? $HOME/.profile접두사 PATH 뒤에 붙 습니다.$HOME/bin

차이가 있으면 명령 프롬프트와 실행중인 스크립트 모두에서 동일한 PATH를 얻습니다.

#!/bin/bash
{
  echo "first dir of PATH is: '${PATH%%:*}'"
  shopt -s nullglob
  cat \
    /etc/profile \
    /etc/bash.bashrc \
    /etc/profile.d/*.sh \
    $HOME/.bashrc \
    $HOME/.bash_aliases \
    /etc/bash_completion \
    $HOME/.bash_completion* \
    $HOME/.profile \
    $HOME/.profile_zap \
    $HOME/.bash_profile* \
    $HOME/.bash_login* \
  | sed -rne '/~\/bin/p'
}

출력은 다음과 같습니다

first dir of PATH is: '~/bin'

PATH대신 잡으십시오 . 여전히 운이 없으면 모든 파일에서 소스가 있는지 확인하십시오.
— jw013

~ / .bashrc 및 ~ / .profile을 확인 했습니까? / etc / profile을 보지 않으면 나는 당신이이 장소들 중 하나에서 그것을 찾을 것이라고 생각합니다.
— nikhil

감사합니다 모든 사람 ... 모든 제안 도움이되었습니다 ...이 있었다 ~/.gnomerc...
— Peter.O

답변:


10

로그인시 전체 환경로드를 추적 할 수 있습니다. 그냥 생각이야

/ etc / profile은 소스 파일 중 첫 번째 파일이므로 맨 위에 a를 추가 할 수 있습니다.

set -x
exec 2> /tmp/debug.log

그런 다음 새 터미널을 열고 bash -l; 그 후 원래 터미널로 가서 추가 된 줄을 제거하십시오 (작업 환경을 원하십니까?).

/tmp/debug.log에서 loading_the_bash_environment의 모든 단계를 모두 추적해야합니다. loooong 파일이됩니다.

그것으로 당신은 "~ / bin"이 당신의 PATH에 들어가는 곳을 찾을 수 있어야합니다

먼저 모든 파일의 소스를 찾으십시오. 귀하의 게시물에서 경로의 ~ / bin이 나열된 파일과 다른 파일에 설정되어 있습니다.


@hmontoliu .. 내가 .. 먼저, 아무것도 로그에 갈되지 않습니다이 문제가 두 번 있었지만 한 나는 (터미널에서 출력을 많이 얻고 konsole로 ...) 첫 번째 참조를 ~/bin에 이미 쇼 경로, 그러나 그것이 어디에서 왔는지에 대한 힌트를 볼 수는 없습니다.이 시점에서 이미 $HOME/binfrom 다음에 있습니다 $HOME/.profile(이 테스트를 위해 특별한 추가 디렉토리를 사용했기 때문에 거기에서 왔을 것입니다). ... 그러나 모든 텍스트 파일을 검색하여 경험적으로 찾을 수있었습니다.이 파일은 ..에서 가져 오며 ~/.gnomerc다시 로그인해야 변경됩니다. ?? !! ..
— Peter.O

/ etc / profile 위에 행을 붙여 넣었고 일반 행으로 실행하고 bash -l있습니까? stderr로 이동하는 디버깅 (-x)을 /tmp/debug.log로 보내야합니다. 실제로 나는 이것을 테스트하고 예상 한대로 작동합니다
— hmontoliu

다시 시도하겠습니다 (다시) ...이 로그 분석은 확실히 갈 길 입니다 (다른 모든 것이 실패 할 때 :). 이것은 더 잘 이해할 수있는 좋은 기회입니다 ...
— Peter.O

... 지금은이 로그 문제를 너무 어려운 바구니에 넣어야합니다. 여전히 로그 파일로 출력되지는 않지만 터미널에 수백 줄이 있습니다.하지만 괜찮습니다. 디버그 로그에 대한 좋은 소개. 그리고 나는 확실히 설정 파일에 대해 훨씬 더 나은 느낌을 얻었습니다 ... 고마워요 ...
— Peter.O

3
나는 대체했다 set로 exec다음은 :) 나를 위해 완벽하게 작동, 두 번째 줄에
— thomasa88
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.