尋找環境變數的設定位置

尋找環境變數的設定位置

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 .bashrc被解析

我來檢查一下目前shell的父進程的環境:

» 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

沒什麼,zilch,nada!

關於什麼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正如預期的那樣,它就在那裡(當然,這相當於“doing”或“doing cat /proc/self/environ”)

所以,它不在 中gnome-terminal,但它在 中bash。加載時必須在其他地方設置它bash .bashrc。我也嘗試過檢查.profile,但沒有運氣。

之前可能發生了什麼事.bashrc?您還有哪些調試想法?

相關內容