Shell变量
变量命名规范
变量名=变量值,无空格
- 使用英文字母、数字和下划线,首个字母不能是数字
- 不能使用 bash 关键字
其它
链接
定义一个变量
var="hello"
"
和'
:
echo "he'l'lo" # 输出结果为he'l'lo
echo 'he'l'lo' # 输出结果为hello,为了达到相同效果需要使用转义字符: echo 'he\'l\'lo'
修改一个变量
var="new hello"
使用一个变量
echo $var
# or
echo ${var}
${}
: 帮助解释器更好识别变量
建议使用${}
只读变量
使用readonly
关键字
var="hello"
readonly var
删除变量
使用unset
关键字
var="hello"
unset var
被删除的变量不能被使用,echo 输出为空
不能删除只读变量
变量的作用域
- 局部变量:仅在当前 shell 实例中有效的变量,其他 shell 程序不能访问
- 全局变量:当前 shell 进程有效,使用 export 关键字
export hello="hello"
echo $hello # 当前进程的shell会话,输出为hello
bash # 当前进程,启动新的shell会话
echo $hello # 输出为hello
# 全局变量的修改
hello="world" # 修改全局变量,只对当前会话和下一会话有效
bash
echo $hello # 输出为world
exit # 退出当前会话
echo $hello # 输出为hello
- 环境变量:系统环境变量,例如 Linux 中的
$HOME
将输出用户家目录 - shell 变量:有环境变量,也有局部变量,shell 变量保证了 shell 的运行,例如
$0
comment:
- Valine
- LiveRe
- ChangYan