Debian
如何為所有使用者的 debian 非登錄 shell 添加系統 $PATH 的路徑
在安裝了一些程序後
/opt/xxx/bin
,我想為所有使用者的非登錄shell添加/opt/xxx/bin
到系統中。$PATH
我該怎麼辦?
在 Debian 和其他使用 PAM 的系統上(現在大多數係統),您可以
PATH
在/etc/environment
. 這將適用於使用該pam_env
模組的任何登錄方法(在該auth
部分或在該session
部分中);在 Debian 上應該是所有這些(至少是那些提供登錄和執行命令的方法)。
預設路徑可以
/etc/profile
像 Joe 所說的那樣設置在$HOME/.profile
. 我也有很多我自己編譯的包(使用通用程序./configure --prefix=/opt/<name>
)安裝在/opt
. 為了執行二進製文件/opt/<name>/bin
而無需任何額外的努力,我添加了OPTDIR=/opt for i in $OPTDIR/* ; do BINDIR=$i/bin if [ -d $BINDIR ] ; then if [ -z $PATH ] ; then PATH=$BINDIR else PATH=$BINDIR:$PATH fi fi done export PATH
對我
$HOME/.profile
來說,在你的情況下是/etc/profile
。現在,即使我/opt
將來安裝軟體包,我也不必擔心訪問相關的二進製文件,/opt/.*/bin
因為路徑會自動添加到$PATH
.因為附加軟體不需要穩定,我更
$HOME/.profile
喜歡/etc/profile
.一個小評論:
/etc/.profile
分別$HOME/profile
不是由您的預設外殼執行,而是由dash
. 一種輕量級變體,bash
可減少啟動過程中的負載。