开篇词
尽管 Bash Shell 和 Bourne Shell 自带了很多系统变量,但我们也可以自定义变量。
查看系统变量
我们可以通过以下方式来查看已有的系统变量:
通过 set
显示系统变量
我们可以将 set
命令传递给 less
或 more
命令来从其输出结果的起始位置查看所有的变量:
set | less # 或 set | more
我们可以按下 q
键来退出 less
命令的交互模式。
通过 printenv
显示环境变量
我们可以借助 printenv
命令来输出当前环境变量:
printenv
通过 env
显示环境变量
我们也可以借助 env
命令来输出当前环境变量:
env
输出结果与 printenv
命令类似。
通过 export
显示 Shell 变量
我们可以借助 export
命令来输出 Shell 变量:
export # 等同于 export -p
通过 echo
显示变量的值
我们可以借助 echo
命令来将变量值输出至屏幕:
echo $PATH # 打印 PATH 变量的值
变量操作
为当前 Shell 创建变量
我们可以通过 name=value
的格式来直接创建变量:
MY_NAME='I am Dong'
echo $MY_NAME
我们可以在子孙 Shell 中尝试访问该变量:
bash # 切换至一个子 Shell 中
echo $MY_NAME
从屏幕上,我们可以看到我们无法在子 Shell 中使用父 Shell 创建的 MY_NAME
变量。
将变量设置为 Shell 变量
我们可以通过 export
命令来将创建好的变量设置成 Shell 变量,以让所有的子孙 Shell 都能对其进行访问:
export MY_NAME
bash
echo $MY_NAME
在字符串中引用变量
我们可以在字符串中引用创建好的变量:
echo "$MY_NAME, how are you?"
创建数组变量
我们可以创建一个包含了多个元素的数组变量:
MY_NAME[1]="Dong"
MY_NAME[2]="Chen"
echo "My first name is ${MY_NAME[1]}, my last name is ${MY_NAME[2]}"
删除变量
我们可以通过 unset
命令来删除一个变量或数组变量:
echo ${MY_NAME[1]} ${MY_NAME[2]}: $MY_NAME
unset MY_NAME
echo ${MY_NAME[1]} ${MY_NAME[2]}: $MY_NAME
我所撰写的英文版本
29. Bash Shell - Variables Operations
引用
参见
想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻》