您的位置:首页 > 运维架构 > Linux

第6章 使用Linux环境变量

2016-12-23 17:12 148 查看
6.1 什么是环境变量

环境变量存储有关shell会话和工作环境的信息。允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们。

*局部变量

*全局变量

6.1.1 全局环境变量

全局环境变量对于shell会话和所有生成的子shell都是可见的。

使用全大写字母。使用env或printenv(可显示个别环境变量的值)命令查看。

可以使用echo显示变量的值,在变量前面加上一个美元符($)。



6.1.2 局部环境变量

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

set命令会显示为某个特定进程设置的所有环境变量。

6.2 设置用户定义变量

6.2.1 设置局部用户定义变量

可以通过等号给环境变量赋值,值可以是数值或字符串。



6.2.2 设置全局环境变量

先创建一个局部环境变量,然后再使用export命令把它到出到全局环境中。



修改子shell中全局环境变量并不会影响到父shell中该变量的值。

子shell无法使用export命令改变fushell中全局环境变量的值。

6.3 删除环境变量

unset命令删除环境变量,不用加。(如果要用到变量,使用;如果要操作变量,不适用$)

在子shell中删除全局变量后,无法将效果反映到父shell中。

6.4 默认的shell环境变量

6.5 设置PATH环境变量

使用外部命令时,shell必须搜索系统来找到对应的程序。PATH环境变量定义了用于进行命令和程序查找的目录。



6.6 定义系统环境变量

bash检查的启动文件取决于你启动bash shell的方式。

6.6.1 登录shell

登录shell会从5个不同的启动文件里读取命令:

*/etc/profile

*HOME/.bashprofile∗HOME/.bashrc

*HOME/.bashlogin∗HOME/.profile

1 /etc/profile文件

是bash shell默认的主启动文件。

迭代/etc/profile.d目录下的所有文件。为Linux系统提供了一个放置特定应用程序启动文件的地方,当用户登录时,shell会执行这些文件。

2 HOME目录下的启动文件shell会按照下了顺序,运行第一个被找到的文件,余下的则被忽略:∗HOME/.bash_profile

*HOME/.bashlogin∗HOME/.profile

.bash_profiles启动文件会先去检查HOME目录下是不是还有一个叫.bashrc的启动文件。如果有的话,会先执行启动文件里面的命令。

6.6.2 交互式shell进程

只会检查用户HOME目录中的.bashrc文件。

.bashrc文件有两个作用:一是查看/etc目录下通用的bashrc文件,二是为用户提供一个定制自己的命令别名和私有脚本函数的地方。

6.6.3 非交互式shell

当启动一个非交互式shell进程时,检查环境变量BASH_ENV来查看要执行的启动文件。

6.6.4 环境变量持久化

全局环境变量:

在/etc/profile.d目录中创建一个以.sh结尾的文件。把所有新的或修改过的全局变量设置放在这个文件中。

存储个人用户永久性bash shell变量是$HOME/.bashrc文件。

6.7 数组变量

环境变量可作为数组使用。



6.8 小结
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐