close

點擊上方藍字● 關注Linux公社



本文討論了一個重要的 Linux shell 環境變量,稱為PATH,以及如何向該變量添加目錄。
通常,您在 Linux 系統上運行的大多數程序都可以完美運行,並且您的 shell 在執行時不會出現任何錯誤。但是,有時您可能希望從 Linux 系統上的非標準目錄快速運行自定義腳本或程序。
在這種情況下,您需要將它們的源目錄添加到 shell 的 PATH 變量中,以便它知道在哪裡可以找到它們。

路徑環境變量用於什麼?

環境變量控制 shell 的行為。如果您曾經在 Linux 上使用過命令行,系統將依賴 PATH 變量來查找您正在輸入的命令的位置。
PATH 是 Linux 中的一個內置環境變量,它告訴 shell 在哪些目錄中搜索可執行文件以響應用戶或應用程序發出的命令。它包含以冒號分隔的目錄列表,用於查找您輸入的命令。
如何在 Linux 中將目錄添加到 PATH
要立即查看 PATH 中的內容,請在終端中輸入:
linuxmi@linuxmi:~/www.linuxmi.com$ echo $PATH
如您所見,此變量中的目錄由冒號 (:) 分隔。目前,shell 在以下目錄中搜索二進制可執行文件:

/home/linuxmi/.nvm/versions/node/v17.4.0/bin

/home/linuxmi/.cargo/bin

/home/linuxmi/.local/bin

/usr/local/bin

/usr/local/sbin

/usr/local/bin

/usr/sbin

/usr/bin

/sbin

/bin

/usr/games

/usr/local/games

/snap/bin

/opt/mssql-tools/bin

搜索 PATH 的順序也很重要。因此,如果您有兩個共享相同名稱的可執行文件位於兩個不同的目錄中,則 shell 將運行位於 PATH 中第一個目錄中的文件。

臨時將目錄添加到 PATH

現在假設您已經創建了一個位於/srv/scripts目錄中的自定義 shell 腳本,並且您希望將此目錄添加到您的 PATH 變量中。這是你應該做的:

linuxmi@linuxmi:~/www.linuxmi.com$ export PATH=$PATH:/srv/scripts

為了讓事情更清楚,讓我們分解一下這個語法。以下是每個參數的含義:

該export命令會將修改後的PATH變量導出到 shell 子進程環境。

變量名之前的$意思是你指的是它的值。

該:/srv/scripts部分指定:符號後面的內容應附加到當前 PATH 變量中包含的值。

讓我們看看 PATH 現在的樣子:
linuxmi@linuxmi:~/www.linuxmi.com$ echo $PATH

正如您在上面的輸出中看到的,該/srv/scripts目錄被添加到 PATH 變量的末尾。現在,您存儲在/srv/scripts目錄中的文件可以在任何地方執行,而無需指定它們的完整路徑。

此外,如果您認為您的目錄應該在其他所有內容之前被搜索,您可以將其添加到$PATH。

export PATH=/srv/scripts:$PATH

請務必注意,如果您退出終端或從系統註銷,PATH 將恢復並且更改將丟失,因為這種設置 PATH 的方法僅在當前終端會話期間臨時記住更改。

要使其永久化,請查看以下部分。

將目錄永久添加到 PATH

要使更改永久生效,您需要在 shell 配置文件中定義 PATH 變量。

默認系統範圍的 PATH 值在/etc/profile文件中指定。將目錄添加到單個用戶的路徑的最佳位置是修改該用戶的.bashrc文件。

使用文本編輯器打開文件,滾動到文件底部,並在文件末尾添加以下行:

linuxmi@linuxmi:~/www.linuxmi.com$ vim ~/.bashrc

~/.bashrc

export PATH=$PATH:/srv/scripts

source最後,保存文件並使用以下命令將新的 PATH 加載到當前 shell 會話中:

linuxmi@linuxmi:~/www.linuxmi.com$ source ~/.bashrc

要確認目錄已成功添加,請鍵入以下echo命令檢查路徑:

linuxmi@linuxmi:~/www.linuxmi.com$ echo $PATH

結論

在Linux中向您的用戶或全局 PATH 變量添加新目錄非常簡單。在本文中,我們了解到有兩種方法可以做到這一點:暫時的和永久的。

如果您仍有疑問,請在評論中告訴我。

來自:Linux迷

鏈接:https://www.linuxmi.com/linux-path.html
關注我們

長按或掃描下面的二維碼關注 Linux公社

關注 Linux公社,添加「 星標 」

每天 獲取 技術乾貨,讓我們一起成長

合作聯繫: root@linuxidc.net

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()