當我們執行乙個命令時,系統會依據path的設定去path定義的每個目錄下查尋該命令的可執行檔案,如果在path定義的目錄中含有多個檔名為我們要執行的命令的可執行檔案時,那麼先查找到的同名命令先被執行。
#echo $path 檢視path定義了哪些目錄
path(一定是大寫),這個變數的內容是由一堆目錄所組成的,每個目錄中間用冒號(:)隔開,每個目錄是有順序之分的。
#path=$path:/root 將/root加入path當中
不通身份使用者預設的path不同,預設能夠隨意執行的命令也不同
path是可以修改的
使用絕對路徑或相對路徑直接指定某個命令的檔名來執行,會比查詢path來的正確
命令應該放到正確的目錄下,執行才會比較方便
本目錄(.)最好不要放到path當中
以下內容**:
比如要把/etc/apache/bin目錄新增到path中,方法有三:
1.#path=$path:/etc/apache/bin
使用這種方法,只對當前會話有效,也就是說每當登出或登出系統以後,path 設定就會失效
2.#vi /etc/profile
在適當位置新增 path=$path:/etc/apache/bin (注意:= 即等號兩邊不能有任何空格)這種方法最好,除非你手動強制修改path的值,否則將不會被改變
3.#vi ~/.bash_profile
修改path行,把/etc/apache/bin新增進去這種方法是針對使用者起作用的
注意:想改變path,必須重新登陸才能生效,以下方法可以簡化工作:
如果修改了/etc/profile,那麼編輯結束後執行source profile 或 執行點命令 ./profile,path的值就會立即生效了。這個方法的原理就是再執行一次/etc/profile shell指令碼,注意如果用sh /etc/profile是不行的,因為sh是在子shell程序中執行的,即使path改變了也不會反應到當前環境中,但是source是在當前 shell程序中執行的,所以我們能看到path的改變。
一般情況下在使用者工作目錄下的bin目錄會包含在path路徑中,所以只要把使用者自己寫的shell指令碼放在使用者的bin目錄下就可以了,不需要修改配置檔案。
關於/etc/profile和~/.bash_profile的介紹可參考
環境變數之執行檔案路徑的變數PATH
當我們執行乙個命令時,系統會依據path的設定去path定義的每個目錄下查尋該命令的可執行檔案,如果在path定義的目錄中含有多個檔名為我們要執行的命令的可執行檔案時,那麼先查找到的同名命令先被執行。echo path 檢視path定義了哪些目錄 path 一定是大寫 這個變數的內容是由一堆目錄所組...
執行檔案路徑的變數 PATH(PATH變數簡介)
執行檔案路徑的變數 path 在linux中,path是環境變數,在執行命令時,系統會按照path的設定,去每個path定義的路徑下搜尋執行檔案,先搜尋到的檔案先執行。輸入命令echo path,其中echo表示 顯示 的意思,而path前面的 表示後面接的是變數,所以就會顯示出當前的path了。r...
關於執行檔案路徑的變數 PATH
quote b 關於執行檔案路徑的變數 path b 我們知道查閱檔案屬性的指令ls完整檔名為 bin ls 這是絕對路徑 那你會不會覺得很奇怪 為什麼我可以在任何地方執行 bin ls這個指令呢?為什麼我在任何目錄下輸入 ls 就一定可以顯示出一些訊息而不會說找不到該 bin ls 指令呢?這是因...