(本篇主要转载自:www.runoob.com,及自己的一些实测)
1、命名规则:
(1)命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
(2)中间不能有空格,可以使用下划线_。
(3)不能使用标点符号
(4)不能使用bash里的关键字
2、变量的赋值
定义变量时,变量名不加美元符号,如:
注意,变量名和等号之间不能有空格
3、变量的使用
使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如:
执行结果:
变量名外面的花括号时可选的,加不加都行,推荐给所有变量加上花括号,这是个好的编程习惯。
已定义的变量可以被重新定义,如:
执行结果:
4、只读变量
使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变。
执行结果:
说明第五行修改my_name的语句没有成功;
5、删除变量
使用unset命令可以删除变量。
执行结果:
可以看出:该脚本输出了两行,第一行正确输出了my_name的值,删除变量后,没有任何输出。
6、变量类型
运行shell时,会同时存在三种变量:
1)局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2)环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3)shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行