Path
哪個是真正的 PATH 變數
在我的辦公室電腦上,我似乎有兩個
PATH
變數。$path : 這由“”(空格)分隔
$PATH :這由“:”(冒號)分隔
雖然當我更新一個時,另一個也會更新。這是 Linux 中的正常行為還是我的機器上發生了什麼奇怪的事情?
我應該保留它們,還是刪除其中一個?
**編輯:**我正在使用
csh
,我發現這是因為我的一些同事正在更新“路徑”變數,而其他人則使用PATH
. 雖然我刪除了我的所有更新PATH
,.cshrc
但當我嘗試回應它們時它仍然出現。
真正的
PATH
變數是大寫的,除了 (t)csh 本身,它有點複雜。
PATH
是一個環境變數,所有應用程序(不僅僅是外殼程序)都會查找它以按名稱呼叫程序。的值PATH
是一個字元串,列出了用冒號分隔的目錄名稱。為方便起見,csh 還提供了一個名為
path
. 這個變數的值是一個字元串列表,每個字元串都是一個目錄名。無論何時設置path
,csh 都會自動設置PATH
為元素之間的path
元素串聯:
。如果您設置
PATH
,不受影響set
。path
此外,csh 設置PATH
環境變數以匹配其path
內部變數,因此set PATH=...
沒有實際效果。如果您設置
PATH
,會相應setenv
地path
更新。但是setenv PATH …
不會影響$PATH
擴展到的內容,這使得使用起來很尷尬。結果是在 csh 中,你應該堅持使用
path
. 但在其他任何地方PATH
都是您唯一能看到的。