Linux 环境变量和Shell变量
2017-06-06 本文已影响187人
悟剑声
Linux下的变量可分成两种:Shell变量和环境变量
简介
- Shell变量,又称本地变量,包括私有变量以及用户变量,不同类的shell有不同的私有变量
- 环境变量,又称用户变量,与shell无关
命令
- env命令:显示当前用户的环境变量
-
set命令:不加参数,显示当前shell的所有本地设置的Shell变量,否则设置shell变量
(unset命令:unset为shell内建指令,删除变量或函数) -
exprot命令:显示(设置)当前导出成用户变量的shell变量
(注意:export为bash或类bash私有的命令)
测试
will@bf-rmnj-06:~$ test="hello $HOME" #初始化shell变量
will@bf-rmnj-06:~$ echo $test
hello /home/will
will@bf-rmnj-06:~$ set | grep test #shell中已经存在,env中不存在
test='hello /home/will'
will@bf-rmnj-06:~$ env | grep test
will@bf-rmnj-06:~$ export test #export将shell变量导出为用户变量
will@bf-rmnj-06:~$ env | grep test #shell和env中都存在
test=hello /home/will
will@bf-rmnj-06:~$ unset test #unset命令来清除变量,shell和env都被清除
(注意:变量是临时的,关闭shell和子shell,设置的变量不生效)
设置环境变量
- shell中命令修改,临时有效
- 修改/etc/profile,所有用户有效
- 修改.bashrc,特定用户有效(重启或者source执行有效)
Linux配置文件执行次序
- */etc/profile ---> /etc/profile.d/.sh **
- **~/.bash_profile ---> ~/.bashrc ---> /etc/bashrc **