1. 程式人生 > >linux 環境變數的設定 PATH=:

linux 環境變數的設定 PATH=:

Linux 環境變數(export命令)
環境變數啟動過程:

功能說明:

設定或顯示環境變數。(比如我們要用一個命令,但這個命令的執行檔案不在當前目錄,這樣我們每次用的時候必須指定執行檔案的目錄,麻煩,在程式碼中先執行export,這個相當於告訴程式,執行某某東西時,需要的檔案或什麼東東在這些目錄裡)

語  法:export [-fnp][變數名稱]=[變數設定值]

補充說明:在shell中執行程式時,shell會提供一組環境變數。 export可新增,修改或刪除環境變數,供後續執行的程式使用。export的效力僅及於該此登陸操作。

參  數:

-f  代表[變數名稱]中為函式名稱。 

-n  刪除指定的變數。變數實際上並未刪除,只是不會輸出到後續指令的執行環境中。

-p  列出所有的shell賦予程式的環境變數。

一個變數建立時,它不會自動地為在它之後建立的shell程序所知。而命令export可以向後面的shell傳遞變數的值。當一個shell指令碼呼叫並執行時,它不會自動得到原為指令碼(呼叫者)裡定義的變數的訪問權,除非這些變數已經被顯式地設定為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼指令碼。 ----《UNIX教程》

一般來說,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑,此時就需要設定環境變數。例如我的mips-linux-gcc編譯器在“/opt/au1200_rm /build_tools/bin”目錄下,build_tools就是我的編譯工具,則有如下三種方法來設定環境變數:

1、直接用export命令:

#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
檢視是否已經設好,可用命令export檢視:

2、修改profile檔案:

#vi /etc/profile
在裡面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
3. 修改.bashrc檔案:

vi /root/.bashrc

在裡面加入:
export PATH="$PATH:/opt/au1200_rm/build_tools/bin"
後兩種方法一般需要重新登出系統才能生效,最後可以通過echo命令測試一下:

echo $PATH

看看輸出裡面是不是已經有了 /my_new_path這個路徑了。

“/bin”、“/sbin”、“/usr/bin”、“/usr/sbin”、“/usr/local/bin”等路徑已經在系統環境變數中了,如果可執行檔案在這幾個標準位置,在終端命令列輸入該軟體可執行檔案的檔名和引數(如果需要引數),回車即可。

如果不在標準位置,檔名前面需要加上完整的路徑。不過每次都這樣跑就太麻煩了,一個“一勞永逸”的辦法是把這個路徑加入環境變數。命令 “PATH=$PATH:路徑”可以把這個路徑加入環境變數,但是退出這個命令列就失效了。要想永久生效,需要把這行新增到環境變數檔案裡。有兩個檔案可 選:“/etc/profile”和使用者主目錄下的“.bash_profile”,“/etc/profile”對系統裡所有使用者都有效,使用者主目錄下 的“.bash_profile”只對這個使用者有效。

“PATH=PATH:路徑1:路徑2:…:路徑n”,意思是可執行檔案的路徑包括原先設定的路徑,也包括從“路徑1”到“路徑n”的所有路徑。當用戶輸入一個一串字元並按回車後,shell會依次在這些路徑裡找對應的可執行檔案並交給系統核心執行。那個“PATH”表示原先設定的路徑 仍然有效,注意不要漏掉。某些軟體可能還有“PATH”以外型別的環境變數需要新增,但方法與此相同,並且也需要注意“$”。

注意,與DOS/Window不同,UNIX類系統環境變數中路徑名用冒號分隔,不是分號。另外,軟體越裝越多,環境變數越添越多,為了避免造成混亂,建議所有語句都新增在檔案結尾,按軟體的安裝順序新增。

格式如下():

軟體名-版本號

PATH=$PATH:路徑1:路徑2:…:路徑n

其他環境變數=$其他環境變數:…

在“profile”和“.bash_profile”中,“#”是註釋符號,寫在這裡除了視覺分隔外沒有任何效果。

設定完畢,登出並重新登入,設定就生效了。如果不登出,直接在shell裡執行這些語句,也能生效,但是作用範圍只限於執行了這些語句的shell。

相關的環境變數生效後,就不必老跑到軟體的可執行檔案目錄裡去操作了。