Linux的變量
1.Linux的變量種類 按變量的生存周期來劃分,Linux變量可分為兩類:
1.1 永久的:需要修改配置文件,變量永久生效。
1.2 臨時的:使用export命令聲明即可,變量在關閉shell時失效。
Linux 的變量可分為兩類:環境變量和本地變量
環境變量,或者稱為全局變量,存在與所有的shell 中,在你登陸系統的時候就已經有了相應的系統定義的環境變量了。Linux 的環境變量具有繼承性,即子shell 會繼承父shell 的環境變量。
本地變量,當前shell 中的變量,很顯然本地變量中肯定包含環境變量。Linux 的本地變量的非環境變量不具備繼承性。
Linux 中環境變量的文件
當你進入系統的時候,linux 就會為你讀入系統的環境變量,這些環境變量存放在什么地方,那就是環境變量的文件中。Linux 中有很多記載環境變量的文件,它們被系統讀入是按照一定的順序的。
1. /etc/profile :
此文件為系統的環境變量,它為每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行。
2.設置變量的三種方法
2.1 在/etc/profile文件中添加變量【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,并且是“永久的”。
例如:編輯/etc/profile文件,添加CLASSPATH變量
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2.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
注:修改文件后要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
2.3 直接運行export命令定義變量【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變量名=變量值]
定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。
3.環境變量的查看
3.1 使用echo命令查看單個環境變量。例如:
echo $PATH
3.2 使用env查看所有環境變量。例如:
env
3.3 使用set查看所有本地定義的環境變量。
unset可以刪除指定的環境變量。
4.常用的環境變量
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE 歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME 指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變量,多語言可以修改此環境變量
MAIL 當前用戶的郵件存放目錄
PS1 基本提示符,對于root用戶是#,對于普通用戶是$