Path

在 Ubuntu 中添加到 profile.local?

  • December 13, 2021

有人告訴我/etc/profile.local用以下幾行(作為使用者root)調整:

export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1

但我似乎找不到profile.local文件,我在 Ubuntu 14.04 上。在任何情況下,我需要執行此操作的程序正在尋找一個命令cmds,所以我認為這只是更新我的路徑?

我對 Linux 相當陌生,所以任何幫助將不勝感激。我嘗試更新 global /etc/profile,但這什麼也沒做。

如果/etc/profile.local不存在,那麼您可以簡單地創建它並在任何文本編輯器中編寫這些行,或者簡單地複制並粘貼這一行:

cat <<EOF>/etc/profile.local
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
EOF

您被告知將其放入的原因/etc/profile.local是該文件不會被覆蓋,而/etc/profile會在您更新系統時更新。

作為@jimmij關於 的答案中/etc/profile.local描述的方法的替代方法,諸如此類的更改也可以放在下面的文件中/etc/profile.d

此目錄中的文件是帳戶登錄時獲取的。例如:

$ ls -l /etc/profile.d/ | head -5
total 120
-rw-r--r--. 1 root root  771 Mar 26  2014 256term.csh
-rw-r--r--. 1 root root  841 Mar 26  2014 256term.sh
-rw-r--r--. 1 root root 2864 Apr 23 04:28 autojump.bash
-rw-r--r--. 1 root root  619 Apr 23 04:28 autojump.sh

當使用者使用任何 bourne 樣式的 shell(例如zshorbash或 a )登錄時,將獲取這些文件csh

這些文件將包含您的導出,如下所示:

$ more /etc/profile.d/lithograph_software.sh
export PATH=$PATH:$HOME/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib
export ALLOW=1

引用自:https://unix.stackexchange.com/questions/159920