環境變量總結

環境變量是什麼:

環境變量是操作系統中指定操作系統或者應用程序運行的一些參數,可以看作是系統的全局變量。可以分爲系統級變量和用戶級變量。
當要求系統運行一個程序卻沒有指定完整的路徑時,首先會在當前目錄下尋找相應的可執行文件,當沒有符合條件的文件時,會到path指定的路徑下尋找。
當程序運行需要一些參數時,可以通過環境變量將需要的參數傳遞進去。

環境變量有什麼用:

解決未指定路徑的應用程序運行。
解決雙系統下軟件共用的問題:當一些軟件運行時需要寫入註冊表的文件時,可以通過環境變量更改完成共用,具體見具體的文件。
設置一些軟件或者體系的運行環境時。

Ubuntu環境變量設置

一些有關環境變量的命令

  1. echo 顯示某個環境變量值echo $PATH
  2. export 設置一個新的環境變量export HELLO=hello (可以無引號)
  3. env 顯示所有環境變量
  4. set 顯示本地定義的shell變量
  5. unset 清除環境變量unset HELLO
  6. readonly 設置只讀環境變量readonly HELLO

2. Linux的變量種類

按變量的生存週期來劃分,Linux變量可分爲兩類:
- 永久的:需要修改配置文件,變量永久生效。
- 臨時的:使用export命令聲明即可,變量在關閉shell時失效。

設置變量的三種方法

  • 在/etc/profile文件中添加變量【對 所有用戶 生效 永久的

    用VI在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,並且是永久的;例如:編輯/etc/profile文件,添加CLASSPATH變量

        vi /etc/profile
        export CLASSPATH=./JAVA\_HOME/lib;$JAVA\_HOME/jre/lib
    

    修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。

  • 在用戶目錄下的.bash_profile文件中增加變量【對 單一用戶 生效 永久的

    用VI在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,並且是永久的。例如:編輯guok用戶目錄(/home/guok)下的.bash_profile

    $ vi /home/guok/.bash.profile
    export CLASSPATH=./JAVA\_HOME/lib;$JAVA\_HOME/jre/lib
    

    注:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。

  • 直接運行export命令定義變量【只對 當前shell(BASH) 有效 臨時的

    在shell的命令行下直接使用[export 變量名=變量值]定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。

環境變量的查看

  • 使用echo命令查看單個環境變量。例如:echo $PATH
  • 使用env查看所有環境變量。
  • 使用set查看所有本地定義的環境變量,unset可以刪除指定的環境變量。

Ubuntu下都有那些軟件需要設置環境變量?

PATH:指定命令的搜索路徑
HOME:指定用戶的主工作目錄(即用戶登陸到Linux系統中時,默認的目錄)
HISTSIZE:指保存歷史命令記錄的條數。
LOGNAME:指當前用戶的登錄名。
HOSTNAME:指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。
SHELL:指當前用戶用的是哪種Shell。
LANG/LANGUGE:和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。
MAIL:指當前用戶的郵件存放目錄。
PS1:命令基本提示符,對於root用戶是#,對於普通用戶是$。
PS2:附屬提示符,默認是>。

windows環境變量設置

有兩種方法可以設置windows的環境變量:

  1. 可以通過命令行set的方式設定,具體的命令有:
    • set 打印所有的環境變量
    • set 變量名 = 清空某個環境變量
    • set 變量名 = 內容 設置某個變量內容
    • set 變量名 = %變量名%內容 追加變量內容
  2. 可以在窗口修改

第一種修改方法僅在當前窗口內有效。
第二種修改方法全局生效。

都有那些環境變量?

%ALLUSERSPROFILE% 局部 返回所有用戶配置文件的位置。
%APPDATA% 局部 返回默認情況下應用程序存儲數據的位置。
%CD% 局部 返回當前目錄字符串。
%CMDCMDLINE% 局部 返回用來啓動當前的 Cmd.exe 的準確命令行。
%CMDEXTVERSION% 系統 返回當前的命令處理程序擴展的版本號。
%COMPUTERNAME% 系統 返回計算機的名稱。
%COMSPEC% 系統 返回命令行解釋器可執行程序的準確路徑。
%DATE% 系統 返回當前日期。
%ERRORLEVEL% 系統 返回最近使用過的命令的錯誤代碼。通常用非零值表示錯誤。
%HOMEDRIVE% 系統 返回連接到用戶主目錄的本地工作站驅動器號。基於主目錄值的設置。用戶主目錄是在本地用戶和組中指定的。
%HOMEPATH% 系統 返回用戶主目錄的完整路徑。基於主目錄值的設置。用戶主目錄是在本地用戶和組中指定的。
%HOMESHARE% 系統 返回用戶的共享主目錄的網絡路徑。基於主目錄值的設置。用戶主目錄是在本地用戶和組中指定的。
%LOGONSEVER% 局部 返回驗證當前登錄會話的域控制器的名稱。
%NUMBER\_OF\_PROCESSORS% 系統 指定安裝在計算機上的處理器的數目。
%OS% 系統 返回操作系統的名稱。Windows 2000 將操作系統顯示爲 Windows_NT。
%PATH% 系統 指定可執行文件的搜索路徑。
%PATHEXT% 系統 返回操作系統認爲可執行的文件擴展名的列表。
%PROCESSOR\_ARCHITECTURE% 系統 返回處理器的芯片體系結構。值: x86,IA64。
%PROCESSOR\_IDENTFIER% 系統 返回處理器說明。
%PROCESSOR\_LEVEL% 系統 返回計算機上安裝的處理器的型號。
%PROCESSOR\_REVISION% 系統 返回處理器修訂號的系統變量。
%PROMPT% 局部 返回當前解釋程序的命令提示符設置。由 Cmd.exe 生成。
%RANDOM% 系統 返回 0 到 32767 之間的任意十進制數字。由 Cmd.exe 生成。
%SYSTEMDRIVE% 系統 返回包含 Windows XP 根目錄(即系統根目錄)的驅動器。
%SYSTEMROOT% 系統 返回 Windows XP 根目錄的位置。
%TEMP% and %TMP% 系統和用戶 返回對當前登錄用戶可用的應用程序所使用的默認臨時目錄。有些應用程序需要 TEMP,而其它應用程序則需要 TMP。
%TIME% 系統 返回當前時間。
%USERDOMAIN% 局部 返回包含用戶帳戶的域的名稱。
%USERNAME% 局部 返回當前登錄的用戶的名稱。
%UserProfile% 局部 返回當前用戶的配置文件的位置。
%WINDIR% 系統 返回操作系統目錄的位置。

Java環境變量的設置

Java都需要設置那些環境變量?

JAVA\_HOME 指明JDK安裝路徑.(在安裝好java之後就該配置)
Path使得系統可以在任何路徑下識別java命令.(如果你採用命令形式編譯java源碼,設置這個很方便)
classpath爲java加載類(class or lib)路徑,只有類在classpath中,java命令才能識別它.

Java在windows和linux下配置環境變量

windows:系統設置 分別設置這三項。

Linux:

  1. 修改/etc/profile文件
    如果你的計算機僅僅作爲開發使用時推薦使用這種方法,因爲所有用戶的shell都有權使用這些環境變量,可能會給系統帶來安全性問題。

    • 用文本編輯器打開/etc/profile
    • 在profile文件末尾加入:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      
    • 重新登錄

    註解
    1. 你要將 /usr/share/jdk1.6.0_14改爲你的jdk安裝目錄
    2. linux下用冒號:來分隔路徑
    3. PATH/ CLASSPATH / $JAVA_HOME 是用來引用原來的環境變量的值
    在設置環境變量時特別要注意不能把原來的值給覆蓋掉了,這是一種常見的錯誤。
    4. CLASSPATH中當前目錄.不能丟,把當前目錄丟掉也是常見的錯誤。
    5. export是把這三個變量導出爲全局變量。
    6. 大小寫必須嚴格區分。

  2. 修改.bash\_profile文件

    這種方法更爲安全,它可以把使用這些環境變量的權限控制到用戶級別,如果你需要給某個用戶權限使用這些環境變量,你只需要修改其個人用戶主目錄下的.bash_profile文件就可以了。

    • 用文本編輯器打開用戶目錄下的.bash_profile文件
    • 在.bash_profile文件末尾加入:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      
    • 重新登錄

  3. 直接在shell下設置變量

    不贊成使用這種方法,因爲換個shell,你的設置就無效了,因此這種方法僅僅是臨時使用,以後要使用的時候又要重新設置,比較麻煩。

    • 只需在shell終端執行下列命令:

      export JAVA\_HOME=/usr/share/jdk1.6.0\_14
      export PATH=$JAVA\_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar
      

引用來源

http://www.cnblogs.com/samcn/archive/2011/03/16/1986248.html
http://blog.chinaunix.net/uid-27135166-id-3304153.html
http://www.jb51.net/LINUXjishu/77524.html
http://blog.chinaunix.net/uid-27135166-id-3304153.html
http://blog.csdn.net/fb281906011/article/details/8057672
http://jingyan.baidu.com/article/4ae03de320d99f3eff9e6bfd.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章