4.1.3 Shell变量

4.1.3 Shell变量

定义变量时,变量名不加美元符号($,PHP语言中的变量名需要),代码如下:

注意,变量名和等号之间不能有空格,这可能与你熟悉的所有编程语言都不一样。同时,变量名的命名必须遵循如下规则:命名只能使用英文字母、数字和下划线;首字符不能以数字开头;中间不能有空格,可以使用下划线(_);不能使用标点符号;不能使用bash里的关键字(可用help命令查看保留关键字);有效的Shell变量命名如下所示:

使用一个定义过的变量,只要在变量名前加美元符号即可,代码如下:

变量名外面的花括号是可选的,可加可不加,加花括号是为了帮助解释器识别变量的边界,如以下这种情况:

如果不给skill变量加花括号,写成echo “I am good at $skillScript”,解释器就会将$skillScript当成一个变量,其值为空,代码执行结果就不是我们期望的样子了。推荐给所有变量加上花括号,这是一个好的编程习惯。已定义的变量,可以重新定义,如以下代码所示:

使用readonly命令可以将变量定义为只读变量,只读变量的值不能改变。下面的代码尝试更改只读变量,结果报错: