概述
bash shell用一个叫作环境变量(environment variable)的特性来存储有关shell会话和工作环 境的信息(这也是它们被称作环境变量的原因)。这项特性允许你在内存中存储数据,以便程序 或shell中运行的脚本能够轻松访问到它们。这也是存储持久数据的一种简便方法。
分类
- 全局变量
- 局部变量
全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的 shell可见。
修改子shell中全局环境变量并不会影响到父shell中该变量的值。
子shell甚至无法使用export命令改变父shell中全局环境变量的值。
//todo 父shell修改全局变量的值,子shell能感知吗???
启动文件
相关命令
# 查看全局变量
printenv
# 显示个别环境变量的值
echo $HOME
# set命令会显示为某个特定进程设置的所有环境变量,包括局部变量、全局变量 10 以及用户定义变量
set
# 设置局部用户定义变量
my_name='wengchuqin'
my_num=12
# 设置全局环境变量
my_name='wengchuqin'
export my_name
# 删除环境变量
my_name='wengchuqin'
unset my_name
# 数组变量
# 设置数组变量
mytest=(one two three four five)
# 访问某个元素(下标从0开始)
echo ${mytest[2]}
two
# 打印数组
echo ${mytest[*]}
one two three four five
# 删除整个数组
unset mytest