您好,登錄后才能下訂單哦!
這篇文章主要講解了“Shell PATH變量用法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Shell PATH變量用法是什么”吧!
程序腳本要想在 Linux 中運行,需要使用絕對路徑或相對路徑指定這個腳本所在的位置。但是為什么系統命令都沒有指定路徑而是直接執行的?比如,ls 命令并沒有輸入"/bin/ls"來執行,而是直接執行"ls"命令。這就是 PATH 環境變量的功能了。
先查詢一下 PATH 環境變量的值,如下:
[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 變量的值是用":"分隔的路徑,這些路徑就是系統查找命令的路徑。也就是說,我們輸入了一個程序名,如果沒有寫入路徑,系統就會到 PATH 變量定義的路徑中去尋找是否有可以執行的程序,如果找到則執行,否則會報"命令沒有發現"的錯誤。
那么,是不是我們把自己寫的腳本復制到 PATH 變量定義的路徑中也可以不輸入路徑而直接執行呢?當然是可以的,我們試試吧,就拿最開始的 hello.sh 來舉例吧。
[root@localhost ~]# cp /root/sh/hello.sh /bin/ #復制hello.shi到/bin/目錄中 [root@localhost ~]# hello.sh c.biancheng.net #hello.sh可以直接執行了
我們只要把程序腳本復制到 PATH 變量定義的任意路徑中,比如 /bin/ 目錄下,以后這個腳本就可以直接執行了,不用再指定絕對路徑或相對路徑。
如果我們把自己寫的所有程序腳本都放在 /bin/ 目錄下,那么有時會搞不清系統命令和自己寫的程序(其實筆者很反對改變系統目錄的結構的)。我們是不是可以修改 PATH 變量的值,而不把程序腳本復制到 /bin/ 目錄中?
當然是可以的,通過變量的疊加就可以實現了。
[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的值,變量疊加生效了
當然,這樣定義的 PATH 變量只能臨時生效,一旦重啟或注銷系統就會消失。如果想要永久生效,則需要寫入環境變量配置文件,我們會在后續章節中再詳細介紹。
感謝各位的閱讀,以上就是“Shell PATH變量用法是什么”的內容了,經過本文的學習后,相信大家對Shell PATH變量用法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。