变量的定义
name="mini_xiang"
变量名命名注意事项:
* 变量名和“=”之间不能有空格。
* 命名只能使用英文字母,数字和下划线,首字符不能使用数字。
* 中间不能使用空格。
* 不能使用标点符号
* 不能使用bash的关键字(可用help命令查看保留关键字)。
使用变量
name="mini_xiang"
echo $name
echo ${name}
使用变量时,在变量名前加$
符号即可。
{}
是可选的主要是为了防止解释器识别不全的情况。
只读变量
使用readonly
命令可以将命令定义为只读变量,只读变量的值不可以被修改
[root@localhost ~]# name="mini_xiang"
[root@localhost ~]# readonly name
[root@localhost ~]# name="qwe"
bash: name: readonly variable
修改只读变量系统会报错
[root@localhost ~]# readonly name1="mini"
[root@localhost ~]# name1="qweqwe"
bash: name1: readonly variable
删除变量
使用unset
命令删除变量
[root@localhost ~]# name2="asdasd"
[root@localhost ~]# echo $name2
asdasd
[root@localhost ~]# unset name2
[root@localhost ~]# echo $name2
unset
不能删除只读变量
变量类型
运行shell时,会同时存在三种变量:
1. 局部变量
局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2. 环境变量
所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3. shell变量
shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行