linux設置變量的三種方法


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

用VI在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,並且是“永久生效”。

例如:編輯/etc/profile文件,添加CLASSPATH變量

# vi /etc/profile

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注1:profile文件在系統啟動時將被運行。大家可以在里面加入其他命令,但是一定要加正確,不然的話系統會啟動不起來的。

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

用VI在用戶目錄下的.bash_profile文件中增加變量,改變量僅會對當前用戶有效,並且是“永久的”。

例如:編輯guok用戶目錄(/home/guok)下的.bash_profile

# vi /home/guok/.bash.profile

添加如下內容:

export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注2:如果修改了/etc/profile,那么編輯結束后執行source profile 或 執行點命令 ./profile,PATH的值就會立即生效了。這個方法的原理就是再執行一次/etc/profile shell腳本,注意如果用sh /etc/profile是不行的,因為sh是在子shell進程中執行的,即使PATH改變了也不會反應到當前環境中,但是source是在當前 shell進程中執行的,所以我們能看到PATH的改變。

注3:變量重復定義時,以后面的設置為先。

  例如:在peofile文件默認對PATH變量都有設置PATH=¥¥¥¥¥¥¥,在以后可能在對PATH設置,一般都加在profile文件的最后PATH=······(打個比方)。而系統之中認定的PATH=·······¥¥¥¥¥¥¥¥¥,也就是說相同名字的環境變量,后寫入的先起作用(通俗地講)。

注4、特殊字符介紹。

  例如在profile中有如下內容,通過以下內容說明特殊符號的用法。

  export A=/q/jing:aaa/cc/ld

  export B=.:/liheng/wang export A=/cd/cdr:$A

  : 表示並列含義,例如A變量值有多個,用:符號進行分離。

  . 表示你操作的當前目錄。例如pap命令會查找B環境變量。

在/home鍵入B命令,系統首先在/home目錄下(即當前路徑)查找關於 B 的內容,如果沒有在/liheng/wang目錄下查找關於B的內容。 $ 表示該變量本次定義之前的值,例如$A代表/q/jing:aaa/cc/ld。也就是說 A=/cd/cdr:/q/jing:aaa/cc/ld

注5、常見的環境變量

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

  HOME:當前用戶主目錄

    MAIL:是指當前用戶的郵件存放目錄。

    SHELL:是指當前用戶用的是哪種Shell。

  HISTSIZE:是指保存歷史命令記錄的條數。

  LOGNAME:是指當前用戶的登錄名。

HOSTNAME:是指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的。

  LANG/LANGUGE:是和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。

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

  PS2:是附屬提示符,默認是“>”。可以通過修改此環境變量來修改當前的命令符,比如下列命令會將提示符修改成字符串“Hello,My NewPrompt :) ”。

  # PS1=" Hello,My NewPrompt :) "

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM