环境变量
Linux中环境变量包括系统级和⽤户级。
系统级的环境变量是每个登录到系统的⽤户都要读取的系统变量
⽤户级的环境变量则是该⽤户使⽤系统时加载的环境变量。
所以管理环境变量的⽂件也分为系统级和⽤户级的.
系统级
/etc/environment: 是系统在登录时读取的第⼀个⽂件,⽤于为所有进程设置环境变量
系统使⽤此⽂件时并不是执⾏此⽂件中的命令,⽽是根据KEY=VALUE模式的代码,对KEY赋值以VALUE,
因此⽂件中如果要定义PATH环境变量,只需加⼊⼀⾏形如PATH=$PATH:/xxx/bin的代码即可。
/etc/profile:是系统登录时执⾏的第⼆个⽂件,可以⽤于设定针对全系统所有⽤户的环境变量。该⽂件⼀般是调⽤/etc/bash.bashrc⽂件。
/etc/bashrc:系统级的bashrc⽂件,为每⼀个运⾏bash shell的⽤户执⾏此⽂件。此⽂件会在⽤户每次打开shell时执⾏⼀次。
注意: /etc/environment是设置整个系统的环境,⽽/etc/profile是设置所有⽤户的环境,前者与登录⽤户⽆关,后者与登录⽤户有关。 这两个⽂件修改后⼀般都要重启系统才能⽣效
用户级
~/.bash_profile: 是对应当前登录⽤户的.bash_profile⽂件,⽤于定制当前⽤户的个⼈⼯作环境。
每个⽤户都可使⽤该⽂件输⼊专⽤于⾃⼰使⽤的shell信息,当⽤户登录时,该⽂件仅仅执⾏⼀次!默认情况下,
他设置⼀些环境变量,执⾏⽤户的.bashrc⽂件。这⾥是推荐放置个⼈设置的地⽅
~/.bashrc: 是对应当前登录⽤户的bash初始化⽂件,当⽤户每次打开shell时,系统都会执⾏此⽂件⼀次。
那么根据以上描述,这⼏个⽂件的执⾏先后顺序应当是:
/etc/enviroment –>/etc/profile –>~/.profile –>/etc/bash.bashrc–> ~/.bashrc
Linux的变量种类
按变量的⽣存周期来划分,Linux变量可分为两类:
- 临时的:使⽤export命令声明即可,变量在关闭shell时失效。
- 永久的:需要修改配置⽂件,变量永久生效
配置临时环境
终端输⼊:
export a=2
export CD_PATH=/mnt/cdrom
终端查看⼀个特定环境变量包含的内容
echo $a
echo $CD_PATH
配置永久环境变量
如果希望此环境变量每次开机或打开shell时⾃动设定⽽⽆须每次都⼿动设定,那么需要将export命令写
⼊以上的系统⽂件中。
- 编辑当前⽤户环境变量⽂件:
vi ~/.bash_profile
export CD_PATH=/mnt/cdrom
export a=/home/u01
export b=hello
export cp_a=$a - 使其⽴即⽣效
source ~/.bash_profile 通过source使其生效(或者重新切换至该用户)
source .bash_profile - 查看该变量是否配置成功
echo
路径环境变量
export PATH=/bin/bash:/bin/sbin
export PATH=$PATH:/home/dong/path1
# echo $PATH
查看环境变量
查看当前⽤户所有环境变量信息
env
export
查看某⼀环境变量信息
env | grep {xxx}
echo ${xxx}
撤销/清除环境变量
#unset
export TEST=“hello test”
env | grep TEST
unset TEST
env | grep TEST
常⽤的环境变量
PATH 决定了shell将到哪些⽬录中寻找命令或程序
HOME 当前⽤户主⽬录
HISTSIZE 历史记录数
LOGNAME 当前⽤户的登录名
HOSTNAME 指主机的名称
SHELL 当前⽤户Shell类型
LANGUGE 语⾔相关的环境变量,多语⾔可以修改此环境变量
PS1 基本提示符,对于root⽤户是#,对于普通⽤户