(1)、設定臨時環境變數
這時候就可以用export path=...:$path,例如 export path=/home/albert/bin:$path
(2)、當前使用者的全域性設定
這時候我們需要開啟~/.bashrc, sudo gedit ~/.bashrc,
然後在最後面新增一行: export path=/home/albert/bin:$path
為了使之生效,終端下輸入source .bashrc
(3)、所有使用者的全域性設定
這時你需要開啟 /etc/profile檔案,用sudo gedit /etc/profile即可,同樣的在最後面加入export path=/home/albert/bin:$path即可。
在新增完後在終端輸入source profile使之生效。
echo $path
或env
使用者登入後載入profile和bashrc的流程如下:
1. /etc/profile
->/etc/profile.d/*.sh
2. $home/.bash_profile
->$home/.bashrc
->/etc/bashrc
說明:
bash首先執行/etc/profile指令碼,/etc/profile指令碼先依次執行/etc/profile.d/*.sh
隨後bash會執行使用者主目錄下的.bash_profile指令碼,.bash_profile指令碼會執行使用者主目錄下的.bashrc指令碼,
而.bashrc指令碼會執行/etc/bashrc指令碼。
至此,所有的環境變數和初始化設定都已經載入完成.
bash隨後呼叫terminfo和inputrc,完成終端屬性和鍵盤對映的設定.
其中path這個變數特殊說明一下:
這裡要注意的是:在使用者切換並載入變數,例如su -,這時,如果使用者自己切換自己,比如root使用者再用su - root切換的話,載入的path和上面的不一樣.
準確的說,是不總是一樣.所以,在/etc/profile指令碼中,做了如下的配置:
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
如果是超級使用者登入,在/etc/profile.d/krb5.sh指令碼中,在path變數搜尋路徑的最前面增加/usr/kerberos/sbin:/usr/kerberos/bin
如果是普通使用者登入,在/etc/profile.d/krb5.sh指令碼中,在path變數搜尋路徑的最前面增加/usr/kerberos/bin
在/etc/profile指令碼中,會在path變數的最後增加/usr/x11r6/bin目錄
在home/.bashprofile中,會在path變數的最後增加home/.bashprofile中,會在path變數的最後增加home/bin目錄
以root使用者為例,最終的path會是這樣(沒有其它自定義的基礎上)
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/x11r6/bin:/root/bin
以alice使用者(普通使用者)為例
/usr/kerberos/bin:/usr/bin:/bin:/usr/x11r6/bin:/home/alice/bin
Debian下環境變數設定
linux下的環境變數分為系統級別和使用者級別。系統級別的會影響所有系統使用者,而使用者級別的只會影響某個單獨使用者。這種分級別的設定是很好的一種系統架構,不確定windows下是不是也有類似的機制。env顯示系統級別環境變數 set顯示使用者級別環境變數 set 變數名稱,設定使用者級別環境變數 ...
Debian下環境變數設定
linux下的環境變數分為系統級別和使用者級別。系統級別的會影響所有系統使用者,而使用者級別的只會影響某個單獨使用者。這種分級別的設定是很好的一種系統架構,不確定windows下是不是也有類似的機制。env顯示系統級別環境變數 set顯示使用者級別環境變數 set 變數名稱,設定使用者級別環境變數 ...
設定環境變數
一.何謂環境變數 在所處的環境中,那些供系統或應用程式取用,而固定存在的一種特殊變數,稱之.環境變數可由系統預定或由您自行定義及修改,又稱為整體變數.也就是說 不管你身處何方,這些變數的值都跟著你的環境而存在.例如 path,shell,term等.顯示環境變數的方法如下 echo 變數名稱 如 e...