linux环境变量
在bash shell种,环境变量用于存储有关shell会话和工作环境的信息。环境变量分为两类:
- 全局变量
- 局部变量
全局变量对于shell会话和所有生成的子shell都是可见的。局部变量只对创建他们的shell可见。
查看全局变量,可以使用env或printenv命令。
使用set命令,可以查看所有的环境变量,包括局部变量、全局变量以及用户定义变量。用户定义变量也分局部环境变量和全局环境变量。
设置局部用户定义变量
按照bash shell的惯例,所有的环境变量名均使用大写字母,因此用户定义局部变量时要坚持使用小写字母。
var_name=var_value
局部环境变量,只能在当前shell中使用,在子shell中不可用。如果在子进程中设置了局部变量,一旦退出了子进程,该局部变量就不可用。
设置全局环境变量
如果在当前进程中设置了全局环境变量,那么在当前shell创建的子shell中,该变量都是可用的。创建全局环境变量的方法是:
var_name=var_value
export var_name
修改子shell中全局环境变量,并不会影响父shell中该变量的值。
在子shell中甚至无法使用export命令改变父shell中全局环境变量的值,也无法用unset删除全局环境变量。
shell启动的方式
- 作为默认登录sh