环境变量

2018-11-07  本文已影响0人  叶田的学习笔记

bash shell用一个叫作环境变量(environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原因)。这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。这也是存储持久数据的一种简便方法。

全局环境变量
全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。这让全局环境变量对那些所创建的子shell需要获取父shell信息的程序来说非常有用。
系统环境变量基本上都是使用全大写字母,以区别于普通用户的环境变量。
要查看全局变量,可以使用env或printenv命令。
要显示个别环境变量的值,可以使用printenv命令,但是不要用env命令。
printenv HOME
也可以使用echo显示变量的值。在这种情况下引用某个环境变量的时候,必须在变量前面加上一个美元符$:
echo $HOME
在echo命令中,在变量名前加上$可不仅仅是要显示变量当前的值。它能够让变量作为命令行参数。

局部环境变量
set命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量以及用户定义变量。
所有通过printenv命令能看到的全局环境变量都出现在了set命令的输出中。但在set命令的输出中还有其他一些环境变量,即局部环境变量和用户定义变量。

set命令会显示出全局变量、局部变量以及用户定义变量。它还会按照字母顺序对结果进行排序。 env和printenv命令同set命令的区别在于前两个命令不会对变量排序,也不会输出局部变量和用户定义变量。在这种情况下, env和printenv的输出是重复的。

上一篇 下一篇

猜你喜欢

热点阅读