bash shell命令(五)

使用 Linux环境变量

bash shell用一个叫作环境变量( environment variable)的特性来存储有关shell会话和工作环
境的信息。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。
在bash shell中,环境变量分为两类:全局变量和局部变量。
全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。
系统环境变量基本上都是使用全大写字母,以区别于普通用户的环境变量。
要查看全局变量,可以使用env或printenv命令。
也可以使用echo显示变量的值。在这种情况下引用某个环境变量的时候,必须在变量前面
加上一个美元符( $)。
在这里插入图片描述
set命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量以及用户定义变量。
在这里插入图片描述
如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾。
没有单引号的话, bash shell会以为下一个词是另一个要执行的命令。

变量名、等号和值之间没有空格。
设置了局部环境变量后,就能在shell进程的任何地方使用它了。但是,如果生成了另外一个shell,它在子shell中就不可用。
在这里插入图片描述
类似地,如果你在子进程中设置了一个局部变量,那么一旦你退出了子进程,那个局部环境变量就不可用。
在这里插入图片描述
设置全局环境变量:export命令
在这里插入图片描述

删除环境变量

unset命令删除已经存在的环境变量。
如果要用到变量,使用 使 ;如果要操作变量,不使用 。这条规则的一个例外就是使用printenv显示某个变量的值。
和修改变量一样,在子shell中删除全局变量后,你无法将效果反映到父shell中。
$HOME表示的是某个用户的主目录。它和波浪号( ~)的作用一样。

要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
要引用一个单独的数组元素,就必须用代表它在数组中位
置的数值索引值。索引值要用方括号括起来。
要显示整个数组变量,可用星号作为通配符放在索引值的位置。
在这里插入图片描述
用unset命令删除在索引值为2的位置上的值。显示整个数组时,看起来像是索引里面已经没这个索引了。但当专门显示索引值为2的位置上的值时,就能看到这个位置是空的。
可以在unset命令后跟上数组名来删除整个数组。

小结

Linux系统使用全局环境变量和局部环境变量存储系统环境信息。
PATH环境变量定义了bash shell在查找可执行命令时的搜索目录。可以修改PATH环境变量来添加自己的搜索目录(甚至是当前目录符号),以方便程序的运行。

发布了25 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_44710568/article/details/105013208