第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 小结
环境变量存储有关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 小结
相关文章推荐
- 在 linux 下 使用代码(获取/设置)环境变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- Linux 系统编程中环境变量的使用
- bashrc文件中环境变量配置错误,导致linux无法正常使用的解决方案
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux使用c shell 、b shell 环境变量的问题
- Linux中使用export命令设置环境变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux 中环境变量配置错误导致部分命令不能使用包括vi
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置
- Linux从用户层到内核层系列 - TCP/IP协议栈部分系列8: 基础知识之 - Linux环境变量使用Tip
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- 如何恢复linux的环境变量ubuntu中root用户没有办法使用命令
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- 第五部分 使用Linux环境变量
- linux共享库位置配置(LD_LIBRARY_PATH环境变量 或者 更改/etc/ld.so.conf 或者 使用-R选项)
- linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效
- Linux上安装配置使用Tomcat说明文档和JDK环境变量配置