溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Shell PATH變量用法是什么

發(fā)布時(shí)間:2021-03-15 11:04:21 來源:億速云 閱讀:208 作者:TREX 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Shell PATH變量用法是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Shell PATH變量用法是什么”吧!

程序腳本要想在 Linux 中運(yùn)行,需要使用絕對(duì)路徑或相對(duì)路徑指定這個(gè)腳本所在的位置。但是為什么系統(tǒng)命令都沒有指定路徑而是直接執(zhí)行的?比如,ls 命令并沒有輸入"/bin/ls"來執(zhí)行,而是直接執(zhí)行"ls"命令。這就是 PATH 環(huán)境變量的功能了。

先查詢一下 PATH 環(huán)境變量的值,如下:

[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/
bin:/root/bin

PATH 變量的值是用":"分隔的路徑,這些路徑就是系統(tǒng)查找命令的路徑。也就是說,我們輸入了一個(gè)程序名,如果沒有寫入路徑,系統(tǒng)就會(huì)到 PATH 變量定義的路徑中去尋找是否有可以執(zhí)行的程序,如果找到則執(zhí)行,否則會(huì)報(bào)"命令沒有發(fā)現(xiàn)"的錯(cuò)誤。

那么,是不是我們把自己寫的腳本復(fù)制到 PATH 變量定義的路徑中也可以不輸入路徑而直接執(zhí)行呢?當(dāng)然是可以的,我們?cè)囋嚢?,就拿最開始的 hello.sh 來舉例吧。

[root@localhost ~]# cp /root/sh/hello.sh /bin/
#復(fù)制hello.shi到/bin/目錄中
[root@localhost ~]# hello.sh
c.biancheng.net
#hello.sh可以直接執(zhí)行了

我們只要把程序腳本復(fù)制到 PATH 變量定義的任意路徑中,比如 /bin/ 目錄下,以后這個(gè)腳本就可以直接執(zhí)行了,不用再指定絕對(duì)路徑或相對(duì)路徑。

如果我們把自己寫的所有程序腳本都放在 /bin/ 目錄下,那么有時(shí)會(huì)搞不清系統(tǒng)命令和自己寫的程序(其實(shí)筆者很反對(duì)改變系統(tǒng)目錄的結(jié)構(gòu)的)。我們是不是可以修改 PATH 變量的值,而不把程序腳本復(fù)制到 /bin/ 目錄中?

當(dāng)然是可以的,通過變量的疊加就可以實(shí)現(xiàn)了。

[root@localhost ~]# PATH="$PATH":/root/sh
#在變量PATH的后面,加入/root/sh目錄
[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/
bin:/root/bin:/root/sh
#查詢PATH的值,變量疊加生效了

當(dāng)然,這樣定義的 PATH 變量只能臨時(shí)生效,一旦重啟或注銷系統(tǒng)就會(huì)消失。如果想要永久生效,則需要寫入環(huán)境變量配置文件,我們會(huì)在后續(xù)章節(jié)中再詳細(xì)介紹。

感謝各位的閱讀,以上就是“Shell PATH變量用法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Shell PATH變量用法是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI