环境变量
定义
- 存储有关Shell会话和工作环境信息的变量
作用
- 为脚本和程序提供获取环境信息,存储临时数据和配置信息
分类
-
全局环境变量
- Shell与子Shell都适用
-
局部环境变量
- 仅对于创建它们的Shell起作用
-
用户定义变量
命令
- 查看全局变量
env、printenv
- 查看个别环境变量
printenv xxx
echo $xxx
- 查看所有环境变量
set
- 设置用户定义变量
variable_name=value
- 查看变量的值
echo $variable_name
- 导出局部变量为全局变量
export variable_name
- 取消变量
unset variable_name
- 为新程序添加PATH变量
PATH=$PATH:/New_directory
- 导出PATH变量
export PATH
- 定义数组变量
array_name=(a,b,c,d,e)
- 查看全部数组变量的值
echo ${array_name[*]}
- 删除数组变量
unset array_name
注意事项
- 要显示个别环境变量的值,可以使用printenv命令,但是不要用env命令
- set命令会显示出全局变量、局部变量以及用户定义变量
- 如果是你自己创建的局部变量或是shell脚本,请使用小写字母。变量名区分大小写
- 子shell可以查看父shell导出的局部变量,并且可以修改该变量的值,但仅作用于子shell自身,不会影响到父shell的全局变量的值
- 由父shell设置但并未导出的变量都是局部变量。子shell无法继承局部变量
- 如果要用到变量,使用\(;如果要操作变量,不使用\)。这条规则的一个例外就是使用printenv显示某个变量的值
- PATH变量存放外部命令程序的目录位置,以便于进行命令和程序的查找
- 如果希望子shell也能找到你的程序的位置,一定要记得把修改后的PATH环境变量导出
- /etc/profile文件是bash shell默认的的主启动文件。只要你登录了Linux系统,bash就会执行/etc/profile启动文件中的命令
- 把变量放在$HOME/.bashrc启动文件中,使其效果永久化
标签:shell,name,局部变量,Linux,PATH,环境变量,变量 From: https://www.cnblogs.com/tang-learning/p/16794946.html
- 每次登录Linux系统,bash shell都会访问/etc/profile启动文件
以及3个针对每个用户的本地启动文件:\(HOME/.bash_profile、\)HOME/.bash_login和$HOME/.profile
用户可以在这些文件中定制自己想要的环境变量和启动脚本