变量
学习变量的定义和使用
定义
变量分3
种类型:
- 局部变量:局部变量在脚本或命令中定义,仅在当前
shell
实例中有效,其他shell
启动的程序不能访问局部变量 - 环境变量:所有的程序,包括
shell
启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell
脚本也可以定义环境变量 shell
变量:是由shell
程序设置的特殊变量。shell
变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell
的正常运行
变量定义规则如下:
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
- 中间不能有空格,可以使用下划线(
_
) - 不能使用标点符号
- 不能使用
bash
里的关键字(可用help
命令查看保留关键字)
使用
注意:变量赋值时不能和等号有空格
VAR=adfadfa
在变量名前添加美元符号($
)即可,变量名外的花括号({}
)可选(推荐使用,更具标识度)
$VAR
${VAR}
只读变量
使用readonly
关键字声明变量,可将变量设置为为只读变量
# 方式一
VAR=...
readonly VAR
# 方式二
readonly VAR=...
重置变量
使用关键字unset
重置变量为空。注意:unset
命令不能操作只读变量
$ cat test.sh
#!/bin/bash
VAR1="asdfasfa"
readonly VAR2="asdf asdf as"
unset VAR1
unset VAR2
echo $VAR1
echo $VAR2
VAR1
重置后输出为空
$ bash test.sh
test.sh: line 7: unset: VAR2: cannot unset: readonly variable
asdf asdf as