Linux环境变量

一、环境变量基本概念

bash shell用环境变量的特性来存储有关shell会话和工作环境的信息。

1、全局环境变量

全局环境变量对于shell会话和所有生成的子shell都是可见的。系统环境变量基本上都是使用全大写字母,以区别于普通用户的环境变量。
使用env或printenv命令可以查看全局变量。使用echo可以显示变量的值,但必须在变量前面加上一个美元符($)。
2、局部环境变量

局部环境变量只能在定义它们的进程中可见。

在Linux系统并没有一个只显示局部环境变量的命令。 set命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量以及用户定义变量。
env和printenv命令同set命令的区别在于前两个命令不会对变量排序,也不会输出局部变量和用户定义变量。
二、设置用户变量

1、设置局部用户定义变量

如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾。设置了局部环境变量后,就能在shell进程的任何地方使用它了。但是,如果生成了另外一个shell,它在子shell中就不可用。
2、设置全局环境变量

在设定全局环境变量的进程所创建的子进程中,该变量都是可见的。创建全局环境变量的方法是先创建一个局部环境变量,然后再把它导出到全局环境中。通过export命令来完成,变量名前面不需要加$。修改子shell中全局环境变量并不会影响到父shell中该变量的值,子shell甚至无法使用export命令改变父shell中全局环境变量的值。
三、删除环境变量

用unset命令完成这个操作,在变量前不使用$。
四、设置PATH环境变量

PATH环境变量定义了用于进行命令和程序查找的目录。PATH中的目录使用冒号分隔。引用原来的PATH值,然后再给这个字符串添加新目录就行了。如:$ PATH=$PATH:/home/christine/Scripts。
五、数组变量
环境变量可作为数组使用,要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔。
要引用一个单独的数组元素,就必须用代表它在数组中位置的数值索引值。索引值要用方括号括起来。
要显示整个数组变量,可用星号作为通配符放在索引值的位置。
用unset命令可以删除数组中的某个值,如unset mytest[2],也可以在unset命令后跟上数组名来删除整个数组。



 

 

你可能感兴趣的:(Linux)