Environment-Variables

.profile 不存在用於編輯 PATH 怎麼辦?

  • October 9, 2017

我想編輯我的$PATH環境變數。根據幾個教程和其他來源(例如這個Q&A),最常見的方法是編輯~/.profile. 但是,對我來說,不存在這樣的文件。我能做些什麼?(在某些系統上是否有不同的名稱?我應該創建它嗎?那裡需要什麼?還有其他方法嗎?)

我是網路集群的使用者,顯然我不想編輯任何全域環境變數。我之前編輯~/.bashrc過為我的使用者更改一些東西,並且有幾個~/.-files,但不是~/.profile.

我在 Ubuntu 16.04.2 LTS 代號:Xenial。echo $PATH只給了我一些全域 bin 目錄,但是在安裝了一些使用者特定的 bin (到/path/to/home~/expanded/.local/bin/)之後,我只想將它添加到 PATH 中。

如果您有一個~/.bash_profile文件,請改為編輯它(因為您似乎正在使用bash(因為您在 Linux 上並且因為您提到~/.bashrc存在您之前編輯過的文件))。如果不存在,bashshell 只會嘗試讀取。如果兩個文件都不存在,您可以創建.~/.profile``~/.bash_profile``~/.bash_profile

您可能要添加的行是

PATH="$HOME/.local/bin:$PATH"

或者

PATH="$PATH:$HOME/.local/bin"

取決於您是否希望/需要首先或最後搜尋添加的目錄。

不需要,export因為PATH變數已經導出。

$HOME與 相同~,但恕我直言,在 shell 腳本中更具表現力。它也表現為一個適當的變數,而~不是。請參閱例如為什麼波浪號 (~) 不在雙引號內展開?

/另請注意,路徑在 Unix 上用正斜杠 () 分隔,而不是反斜杠 ( \),所以你想要~/.bash_profile而不是~\.bash_profile.


大多數sh類似 shell(其中一個)在作為登錄 shell 啟動時bash會讀取使用者的主目錄。.profile這就是為什麼您連結到的答案提到.profile而不是.bash_profile; 問題中沒有提到使用的特定外殼。

bash如果存在自己的特殊啟動文件,某些 shell,例如,將忽略它。

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