變數的連結不一定會發生,只有這些變數有:KDEDIRS,PATH, CLASSPATH,LDPATH,MANPATH,INFODIR,INFOPATH, ROOTPATH,CONFIG_PROTECT,CONFIG_PROTECT_MASK, PRELINK_PATH 和 PRELINK_PATH_MASK。其他的變數使用最後定義的值 (依 /etc/env.d 中檔案的字典順序)。
當您執行 env-update,他會建立所有的系統變數然後寫入 /etc/profile.env 中(這檔案被 /etc/profile 使用)。他也會從 LDPATH 讀取資訊然後建立 /etc/ld.so.conf,之後,他會執行 ldconfig 重新建立動態連結使用的 /etc/ld.so.cache 檔案。
如果您希望 env-update 在您執行它後立刻作用,執行下面的指令來更新。自行安裝 Gentoo 的使用者可能會記得安裝過程中執行過:
原始碼 5: 更新環境變數 |
# env-update && source /etc/profile
|
注意: 上面的指令只更新你目前終端機,新啟動 consoles,以其他的孩子的環境變數。因此,如果你在 X11,你需要在你每一個新開啟的終端機輸入 source /etc/profile,或是重新啟動 X,讓所有終端機使用新的環境變數。如果你使用圖形化的登入管理員,你需要先變成 root,然後輸入 /etc/init.d/xdm restart。如果不是的話,你要先離開再進入 X,讓所有他生成的孩子都使用新的變數。 |
5.c. 定義局部變數
使用者自行設定
您或許不想要定義全域變數。例如您可能要加入 /home/my_user/bin 以及目前的工作目錄(你所在的目錄)到 PATH 變數中,但是您不想要其他使用者在他們的 PATH 也有這個設定。如果您想要定義區域變數,您可以加到 ~/.bashrc 或 ~/.bash_profile:
原始碼 6: 在 ~/.bashrc 中額外增加局部 PATH 設定 |
(冒號後面什麼都不加代表目前的工作目錄)
PATH="${PATH}:/home/my_user/bin:"
|
當您重新登入後,您的 PATH 變數就會更新了。
有期限的設定
有的時候需要更嚴格的定義。例如您可能需要從您剛剛建立的暫時目錄執行程式,但您不想輸入完整的路徑或是編輯 ~/.bashrc 只為了在這一小段時間使用。
在這種情況下,您只要使用 export 指令設定 PATH 變數。只要您不登出, PATH 將會使用目前暫時的設定。
原始碼 7: 設定有期限的變數 |
# export PATH="${PATH}:/home/my_user/tmp/usr/bin"
|