關於環境變量的一些認知

      1. PATH環境變量。作用是指定命令搜索路徑,在shell下面執行命令時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把 jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好 PATH變量後,就可以在任何目錄下執行javac/java等工具了。 

  2. CLASSPATH環境變量。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們 需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。 

  3. JAVA_HOME環境變量。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到並使用安裝好的jdk。


總結,java環境變量設置目的: 

 

1,JAVA_HOME

    (1)爲了方便引用,例如你jdk安裝在C:\Program Files\Java\jdk1.7.0目錄裏,則設置JAVA_HOME爲該目錄路徑, 那麼以後你要使用這個路徑的時候, 只需輸入%JAVA_HOME%即可, 避免每次引用都輸入很長的路徑串; 

    (2)歸一原則, 當你jdk路徑需要改變的時候, 你僅需更改JAVA_HOME的變量值即可, 否則你就要更改任何用絕對路徑引用jdk目錄的文檔, 要是萬一你沒改全,某個程序找不到jdk, 後果就可能是程序崩潰; 

    (3)第三方軟件會引用約定好的JAVA_HOME變量, 才能夠正常使用該軟件, 以後用JAVA久了就會知道, 要是某個軟件不能正常使用, 很可能就是JAVA_HOME設置不對造成的; 

 

2,CLASSPATH

     設置CLASSPATH的目的是爲了程序能找到相應的".class"文件, 舉個例子: 編譯一個JAVA程序---A.java, 會得到一個A.class的類文件,在當前目錄下執行java A, 將會得到相應的結果(前提是已經設置

CLASSPATH爲"."). 現在, 把A.class移到別的目錄下(例如:"e:\"), 執行java A, 將會拋出java.lang.NoClassDefFoundError異常,原因就是找不到.class文件, 現在你把CLASSPATH增加爲:".;e:\"再運行java A, 結果一切正常, java命令通過CLASSPATH找到了.class文件! 

 

3,PATH

      你想在任何時候都使用%JAVA_HOME%\bin\java 等來執行java命令嗎, 當然不會, 於是, 你可以選擇把 %JAVA_HOME%\bin添加到PATH路徑下, 這樣, 我們在任何路徑下就可以僅用java來執行命令了.(當你在命令提示符窗口輸入你個代碼時,操作系統會在當前目錄和PATH變量目錄裏查找相應的應用程序, 並且執行.


    查看PATH:echo $PATH
以添加mongodb server爲列
修改方法一:
export PATH=/usr/local/mongodb/bin:$PATH
//配置完後可以通過echo $PATH查看配置結果。
生效方法:立即生效
有效期限:臨時改變,只能在當前的終端窗口中有效,當前窗口關閉後就會恢復原有的path配置
用戶侷限:僅對當前用戶

 

修改方法二:
通過修改.bashrc文件:
vim ~/.bashrc 
//在最後一行添上:
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:(有以下兩種)
1、關閉當前終端窗口,重新打開一個新終端窗口就能生效
2、輸入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用戶侷限:僅對當前用戶

 

修改方法三:
通過修改profile文件:
vim /etc/profile
/export PATH //找到設置PATH的行,添加
export PATH=/usr/local/mongodb/bin:$PATH
生效方法:系統重啓
有效期限:永久有效
用戶侷限:對所有用戶

 

修改方法四:
通過修改environment文件:
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入“:/usr/local/mongodb/bin”
生效方法:系統重啓
有效期限:永久有效
用戶侷限:對所有用戶

1.使用env命令顯示所有的環境變量

 $ env

  HOSTNAME=redbooks.safe.org

  PVM_RSH=/usr/bin/rsh

  Shell=/bin/bash

  TERM=xterm

  HISTSIZE=1000

  ...


2.使用set命令顯示所有本地定義的Shell變量

  $ set


3. 使用unset命令來清除環境變量

  set可以設置某個環境變量的值。清除環境變量的值用unset命令。如果未指定值,則該變量值將被設爲NULL。示例如下:

  $ export TEST="Test..." #增加一個環境變量TEST

  $ env|grep TEST #此命令有輸入,證明環境變量TEST已經存在了

  TEST=Test...

  $ unset $TEST #刪除環境變量TEST

  $ env|grep TEST #此命令沒有輸出,證明環境變量TEST已經存在了


4.使用echo命令查看單個環境變量。例如:

 echo $PATH

5.常用的環境變量

  PATH 決定了shell將到哪些目錄中尋找命令或程序

  HOME 當前用戶主目錄

  HISTSIZE 歷史記錄數

  LOGNAME 當前用戶的登錄名

  HOSTNAME 指主機的名稱

  SHELL   當前用戶Shell類型

  LANGUGE  語言相關的環境變量,多語言可以修改此環境變量

  MAIL   當前用戶的郵件存放目錄

  PS1   基本提示符,對於root用戶是#,對於普通用戶是$


6. 設置一個新的環境變量hello

  $ export HELLO="Hello!"

  $ echo $HELLO

  Hello!

 “/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。

  相關的環境變量生效後,就不必老跑到軟件的可執行文件目錄裏去操作了。



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