env 변수가 설정된 위치 찾기


1

http_proxy새 터미널을 시작할 때마다 내 설정이 잘못 되었다는 문제가 있습니다 .

» echo $http_proxy 
http://http://127.0.0.1:1234/

어느 것이 ... 나쁘다. 환경 설정에 버그가 있습니다. 찾아 보자. 이를 위해 나는 맨 처음에 변수의 값을 보여줄 것이다 .bashrc. 터미널을 만들고 잘못된 값이 이미 있습니다.

http_proxy=http://http://127.0.0.1:1234/
» 

좋습니다. 따라서 다음 중 하나에 해당해야합니다.

  1. 데스크탑 프로세스 (터미널을 시작하는 프로세스)가 이미 잘못된 값을 내보내고 있습니다.
  2. 값은 bash before .bashrc 에 의해 설정됩니다 파싱

현재 쉘의 상위 프로세스 환경을 확인하겠습니다.

» pstree -ahp myuser
...
  ├─gnome-terminal-,3807
     ├─bash,3814
        └─pstree,17329 -ahp myuser

부모 프로세스의 환경을 확인하십시오 gnome-terminal.

» cat /proc/3807/environ | tr \\0 \\n | grep -i http_proxy

아무것도 아니에요!

무엇에 대해 bash?

» cat /proc/3814/environ | tr \\0 \\n | grep -i http_proxy
HTTP_PROXY=http://http://127.0.0.1:1234/
http_proxy=http://http://127.0.0.1:1234/

예상대로, 거기에 있습니다 (이것은 echo $http_proxy물론, 또는 수행 하는 것과 같습니다 cat /proc/self/environ)

따라서에 있지 gnome-terminal않지만에 bash있습니다. 로드하는 동안 그것은 다른 곳에서 설정해야합니다 bash, .bashrc . 나는 또한 점검을 시도 .profile했지만 운이 없다.

전에 무슨 일이 .bashrc있었 을까? 다른 디버깅 아이디어가 있습니까?


.bashrc에서 변수를 어떻게 인쇄합니까? 또한 man bash/ etc / profile, ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile에 언급 된 다른 시작 파일을 확인하십시오 .
l0b0

@ l0b0 echo $http_proxy은 시작 부분에서 간단 합니다 .bashrc. 당신이 언급 한 다른 파일들에는 특별한 것이 없습니다 ...
dangonfast

명확히하기 위해 기존 쉘에서 새 쉘을 시작하지 않고 터미널을 닫고 새 쉘을 엽니 다.
l0b0
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.