linux設置變量的三種方法

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

用VI在文件/etc/profile文件中增長變量,該變量將會對Linux下全部用戶有效,而且是「永久生效」。bash

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

# vi /etc/profile命令行

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

注1:profile文件在系統啓動時將被運行。你們能夠在裏面加入其餘命令,可是必定要加正確,否則的話系統會啓動不起來的。字符串

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

用VI在用戶目錄下的.bash_profile文件中增長變量,改變量僅會對當前用戶有效,而且是「永久的」。class

例如:編輯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=·······¥¥¥¥¥¥¥¥¥,也就是說相同名字的環境變量,後寫入的先起做用(通俗地講)。

注四、特殊字符介紹。

  例如在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

注五、常見的環境變量

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時就沒有這個變量,須要使用的話還須要從新定義。

相關文章
相關標籤/搜索