Linux

為所有使用者設置路徑(登錄和非登錄 Shell)

  • April 20, 2019

行。所以,我更習慣 Ubuntu 和 CentOS 而不是 redhat,所以我希望有一些我缺少的明顯解決方案。

我已經安裝了 Anaconda (Python)。我把它放在:

/opt/anaconda3

我希望自己和所有使用者能夠在他們的路徑中擁有以下內容:

/opt/anaconda3/bin

我四處搜尋並獲得了很多關於如何“正確”完成我的使命的相互矛盾的資訊。

我試過的東西:

  1. 將 bash 腳本添加到 /etc/profile.d
  2. 編輯 /etc/profile
  3. 編輯 /etc/bashrc
  4. 添加到根 bashrc
  5. 編輯使用者 .bashrc

所有編輯都涉及某種形式:

PATH=/opt/anaconda3/bin:$PATH

或者

export PATH=/opt/anaconda3/bin:$PATH

選項 2 為多個使用者在路徑中添加了 /opt/anaconda3/bin,但終端重新啟動後仍然沒有執行 bin 中的命令(即 conda install、ipython notebook 等)

有任何想法嗎?

在 /etc/profile.d/ 中創建一個名為(比如說)anaconda.sh 的文件,其內容為:

PATH=/opt/anaconda3/bin:$PATH

結尾的“.sh”很重要,因為這是 /etc/profile 用於搜尋要包含的文件的語法。Bash 將在登錄時讀取 /etc/profile。如果您想要目前的 shell/終端來獲取更改,只需執行. /etc/profile.d/anaconda.sh.

如果您遇到非互動式 shell 需要它的情況,則剩下 ~/.bashrc (除非呼叫環境使用 –rcfile 覆蓋該行為)。

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