Linux 环境变量和Shell变量

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 **
链接:
  • http://www.cnblogs.com/along1226/p/4937520.html
  • http://blog.csdn.net/gatieme/article/details/45064705

你可能感兴趣的:(Linux 环境变量和Shell变量)