技(jì )術文(wén)檔 2021年6月15日
Linux 中(zhōng)的 PATH 變量存儲了運行命令時應在其中(zhōng)查找可(kě)執行文(wén)件的目錄的路徑。
abhishek@its-foss:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
如您所見,PATH 由多(duō)個以冒号 (:) 分(fēn)隔的目錄(如 /usr/local/sbin、/usr/bin 等)組成。
如果你想從系統的任何地方運行一些可(kě)執行文(wén)件作(zuò)為(wèi)命令,你應該在 PATH 變量中(zhōng)添加它們的位置。
這在設置開發環境時很(hěn)常見。例如,假設您下載并安(ān)裝(zhuāng)了 Java 和 Maven。為(wèi)了使您的程序正常工(gōng)作(zuò),您需要在 PATH 中(zhōng)指定 Maven 和 Java 二進制文(wén)件的位置。
這個快速教程是關于在 Linux 中(zhōng)設置 PATH。除了這些步驟之外,我還會提到在處理(lǐ) PATH 時應該注意的事項。
在 Linux 中(zhōng)向 PATH 變量添加新(xīn)目錄的過程本質(zhì)上是這樣的:
export PATH=$PATH:your_directory
相關目錄your_directory
的絕對路徑在哪裏。
假設您将 Maven 下載并解壓縮到主目錄,并且想要将其 bin 目錄添加到 PATH。我們假設這個bin目錄的絕對路徑是/home/abhishek/maven/apache-maven-3.8.0/bin。
這是你應該做的:
導出路徑=$PATH:/home/abhishek/maven/apache-maven-3.8.0/bin
export PATH=$PATH:/home/abhishek/maven/apache-maven-3.8.0/bin
這裏需要注意的地方:
使用(yòng)新(xīn)值設置 PATH 後,請檢查 PATH 是否已正确更新(xīn)。
abhishek@its-foss:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/abhishek/maven/apache-maven-3.8.0/bin
您可(kě)能(néng)想要運行修改了 PATH 的命令或腳本。這将告訴您現在是否正确設置了 PATH。
您已将所需目錄添加到 PATH 變量,但更改是暫時的。如果您退出終端、退出會話或從系統注銷,PATH 将恢複并且更改将丢失。
如果您希望自己對 PATH 變量進行永久更改,則可(kě)以将其添加到主目錄中(zhōng)的 .bashrc 文(wén)件中(zhōng),假設您使用(yòng)的是 Bash shell。
您可(kě)以使用(yòng)文(wén)本編輯器(如 Nano或 Vim)來完成此任務(wù)。
nano ~/.bashrc
如果您希望 Linux 系統上的每個人都可(kě)以使用(yòng)修改後的 PATH 變量,您可(kě)以将導出添加到 /etc/profile 文(wén)件中(zhōng)。當您是系統管理(lǐ)員并且配置了帶有(yǒu)自定義路徑的系統時,這很(hěn)合适。
PATH 變量中(zhōng)有(yǒu)幾個目錄。當您運行可(kě)執行文(wén)件/命令時,您的系統會按照 PATH 變量中(zhōng)提到的相同順序查看目錄。
如果 /usr/local/sbin 在 /usr/bin 之前,則首先在 /usr/local/sbin 中(zhōng)搜索可(kě)執行文(wén)件。如果找到可(kě)執行文(wén)件,則搜索結束并執行該可(kě)執行文(wén)件。
這就是為(wèi)什麽您會找到一些示例,其中(zhōng)在 PATH 中(zhōng)的其他(tā)所有(yǒu)内容之前添加了附加目錄:
export PATH=your_directory:$PATH
如果您認為(wèi)您的附加目錄應該在所有(yǒu)其他(tā)目錄之前搜索,您應該将它添加到 $PATH 之前,否則将它添加到 $PATH 之後。
關鍵詞: