ubuntn下怎麼設定環境變數

2021-08-23 14:21:51 字數 1858 閱讀 6097

(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...