Linux中修改環境變數PATH的方法

linux.cn發表於2015-05-21

提問: 當我試著執行一個程式時,它提示“command not found”。 但這個程式就在/usr/local/bin下。我該如何新增/usr/local/bin到我的PATH變數下,這樣我就可以不用指定路徑來執行這個命令了。

在Linux中,PATH環境變數儲存了一系列的目錄用於使用者在輸入的時候搜尋命令。PATH變數的值由一系列的由分號分隔的絕對路徑組成。每個使用者都有特定的PATH環境變數(由系統級的PATH變數初始化)。

Linux有問必答:如何在Linux中修改環境變數PATH

要檢查使用者的環境變數,使用者模式下執行下面的命令:

$ echo $PATH
/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin

或者執行:

$ env | grep PATH
PATH=/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin

如果你的命令不存在於上面任何一個目錄內,shell就會丟擲一個錯誤資訊:“command not found”。

如果你想要新增一個另外的目錄(比如:/usr/local/bin)到你的PATH變數中,你可以用下面這些命令。

為特定使用者修改PATH環境變數

如果你只想在當前的登入會話中臨時地新增一個新的目錄(比如:/usr/local/bin)給使用者的預設搜尋路徑,你只需要輸入下面的命令。

$ PATH=$PATH:/usr/local/bin

檢查PATH是否已經更新:

$ echo $PATH
/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/sbin:/sbin:/home/xmodulo/bin:/usr/local/bin

更新後的PATH會在當前的會話一直有效。然而,更改將在新的會話中失效。

如果你想要永久更改PATH變數,用編輯器開啟~/.bashrc (或者 ~/.bash_profile),接著在最後新增下面這行。

export PATH=$PATH:/usr/local/bin

接著執行下面這行永久啟用更改:

$ source ~/.bashrc (或者 source ~/.bash_profile)

改變系統級的環境變數

如果你想要永久新增/usr/local/bin到系統級的PATH變數中,像下面這樣編輯/etc/profile。

$ sudo vi /etc/profile
export PATH=$PATH:/usr/local/bin

你重新登入後,更新的環境變數就會生效了。

相關文章