shell 变量
变量定义
变量使用
示例 1:
#! /bin/bash var=aaa # 等号左右两侧不能用空格 echo ${var}
执行结果:
$ ./demo.sh
$ aaa
示例 2:
#! /bin/bash
var=aaa bbb ccc
echo ${var}
执行结果:
$ ./demo.sh
./demo.sh: line 3: bbb: command not found
示例 3:
#! /bin/bash
var="aaa bbb ccc"
echo ${var}
执行结果:
$ ./demo.sh
aaa bbb ccc
示例 4:
#! /bin/bash
var="aaa
bbb
ccc"
echo ${var}
执行结果:
$ ./demo.sh
aaa bbb ccc
示例 5:
#! /bin/bash
var="aaa
bbb
ccc"
echo "${var}"
执行结果:
$ ./demo.sh
aaa
bbb
ccc
变量删除
unset <var_name>
变量只读
readonly <var_name>
通过 readonly 表明只读变量,对只读变量的修改会报错(不能被删除)。
总结
- shell中变量的值都是以字符串形式存在变量中的,所以 a=2 跟 a="2" 意思实际是一样的。
- 给 shell 中变量赋值时,等号后边不能有空格
- shell 取等号后的字符串作为变量的值,遇到空格或换行结束,有空格的字符串需要加单引号或者双引号
- 一个中间有空格或者换行符的长字符串在引用时变成好几个短字符串的形式,这样方便 for 循环引用长字符串中短字符串的值,如果不想展开的话需要引用时候需要给长字符串加双引号