定义变量
定义变量时,变量名不加$:
mynameis="damon.lin"
attention:
- 变量和等号之间不能有空格!
- 首字符必须为字母
- 中间不能有空格,可以有下划线
- 不能使用标点符号
- 不能使用bash里的keyword(help可以查看所有keyword)
引用变量
使用一个定义过的变量时,在变量前加$
echo my name is $mynameis
echo my name is ${mynameis}
例子中的花括号加不加都可以(建议加),加是为了帮助解释器识别变量的边界。
重新定义变量
已定义过的变量,可以被重新定义
mynameis="damon.lin"
echo my name is ${mynameis}
mynameis="damon.li"
echo my name is ${mynameis}
只读变量
使用readonly来定义只读变量
readonly mynameis="damon.lin"
删除变量
使用unset可以删除变量
unset mynameis
不能删除只读变量
变量类型
- 局部变量
局部变量在脚本或命令中定义,只在当前shell中有效,其他shell启动的程序不能访问局部变量 - 环境变量
所有的程序都能访问环境变量,必要的时候shell中也可以定义环境变量 - shell变量 shell变量是由shell程序设置的特殊变量,一部分是环境变量,一部分是局部变量。