一、windows下的環境變量
- 在windows系統下,很多軟件安裝都需要配置環境變量,比如安裝jdk,假如你沒有配置環境變量,那么在非軟件安裝的目錄下使用javac命令,系統將會報這不是系統內部命令的錯誤。
- 什么是環境變量呢,簡單的來說就是一種文件搜索策略,在執行相應軟件的時候,相關軟件會按照給路徑去尋找對應的軟件,設置環境變量最實用的功能就是,不用拷貝某些dll到系統目錄下了,而path就是系統搜索一系列dll的路徑。
- 在linux下,如果你下載並安裝應用程序,很可能在終端鍵入它的名稱是出現“Command not found”的提示。如果每次都要到安裝目錄下才能執行這個軟件,那么這個操作就非常的繁瑣了。這里就可以使用環境變量來簡化這個操作。path的設置也是在linux下定制環境變量的一部分。
二、linux下的環境變量
環境變量的啟動過程
export的作用就是設置或者顯示環境變量。
語法:export [-fnp] [變量名稱]=[變量設置值]
在shell執行程序時,shell會提供一組環境變量,export可以新增、刪除、修改環境變量,供后續執行的程序使用。export的效力僅限於該次登錄操作(就是說你下次登錄操作系統的時候,上次登錄時的export就不能用了)
參數:
-f 代表[變量名稱]中為函數名稱。
-n 刪除指定的變量。變量實際上並未刪除,只是不會輸出到后續指令的執行環境中。
-p 列出所有的shell賦予程序的環境變量。
一個變量創建時,它不會自動地為在它之后創建的shell進程所知。而命令export可以向后面的shell傳遞變量的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變量的訪問權,除非這些變量已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變量的值到任何后繼腳本。
一般來說,配置交叉編譯工具鏈的時候需要指定編譯工具的路徑,此時就需要設置環境變量。例如我的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會依次在這些路徑里找對應的