北京赛车pk10直播开奖
首頁
登錄 | 注冊

如何在Linux中向$PATH添加目錄

在命令行上鍵入命令時,基本上是告訴 shell 運行具有給定名稱的可執行文件。在 Linux 中,這些可執行程序,如 ls , find , file 和其他命令,他們都位于你的系統上幾個不同的目錄中。存儲在這些目錄中的任何具有可執行權限的文件都可以從任何位置運行。持有可執行程序最常用的目錄是 /bin , /sbin , /usr/sbin , /usr/local/bin 和 /usr/local/sbin 。

但是 shell 如何知道在什么目錄搜索可執行程序的呢,或者 shell 搜索整個文件系統? 答案很簡單。鍵入命令時, shell 將搜索用戶 $PATH 變量中指定的所有目錄,以查找該名稱的可執行文件。

本文展示了如何將目錄添加到Linux系統的$PATH中。

什么是 $PATH

該 $PATH  環境變量是一個冒號分隔的列表,告訴哪些目錄搜索可執行文件的外殼。

要查看環境變量 $PATH ,可以使用 printenv 或 echo 命令:

echo $PATH

輸出看起來像這樣:

Output/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

如果您有兩個同名的可執行文件,位于兩個不同的目錄中,則 shell 將運行 $PATH 中的第一個所在的目錄的程序。

添加目錄到您的  $PATH

在某些情況下,您可能希望在 $PATH 變量中添加其他目錄。例如,某些程序可能安裝在不同的位置,或者您可能希望為您的個人文檔設置專用目錄,但能夠在不指定可執行文件的絕對路徑的情況下運行它們。要做到這一點,您只需要將目錄添加到您的 $PATH 。

假設您有一個位于主目錄中的名為 bin 的目錄,您可以在其中保存 shell 腳本。要將目錄添加到您的 $PATH 類型:

export PATH="$HOME/bin:$PATH"

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

您現在可以通過鍵入可執行腳本名稱來運行腳本,而無需指定可執行完整路徑。

但是,此更改僅是臨時的,僅在當前 shell 會話中有效。

要使更改成為永久更改,您需要在 shell 配置文件中定義 $PATH 變量。在大多數 Linux 發行版中,當您啟動新會話時,將從以下文件中讀取環境變量:

•全局 shell 特定配置文件,如 /etc/environment 和 /etc/profile 。如果要將新目錄添加到所有的系統用戶,請使用此文件 $PATH 。


•每用戶 shell 特定的配置文件。例如,如果您正在使用 Bash ,則可以在 ~/.bashrc 文件中設置 $PATH 變量,如果您使用的是 Zsh ,則文件名為 ~/.zshrc 。


在這個例子中,我們將在 ~/.bashrc 文件中設置變量。使用文本編輯器打開文件,并在其末尾添加以下行:

nano ~/.bashrc

文件 ?/.bashrc

export PATH="$HOME/bin:$PATH"

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

source ~/.bashrc

要確認目錄已成功添加,請 $PATH 鍵入以下內容以打印您的值:

echo $PATH

結論

向用戶或全局 $PATH 變量添加新目錄非常簡單。這讓您無需鍵入可執行文件的完整路徑就能執行存儲在非標準位置的命令和腳本。

相同的說明適用于任何 Linux 發行版,包括 Ubuntu , CentOS , RHEL , Debian 和 Linux Mint 。

如果您有任何問題,請隨時發表評論。



2019 monjeep.com webmaster#monjeep.com
12 q. 0.010 s.
京ICP備10005923號
北京赛车pk10直播开奖
大乐开奖结果查询开奖 17175捕鱼达人奔驰宝马 银河棋牌娱乐 二人麻将技巧 甘肃十一选五今日开奖 通比牛牛游戏网站 河南十一选五走势图实时开奖 牛牛看牌抢庄赢钱技巧 广东十一选五绝密公式 免费单机二人麻将