作者: Filia.Tao
以BASH 为讨论的shell 语言
从编程语言的角度,变量的作用是非常重要的。
1.变量的声明
一般变量不需要声明,或使用 declare 变量名
2.变量的赋值
变量名=值 或 declare 变量名=值(注意“=” 两边不能有空格)
3.常量的问题
一般没有常量的说法,不过有只读变量的。用 readonly 变量名 或 declare -r 变量名设置只读变量 有的书上讲只读变量可以重新赋值,不能清空(或者说删除)。但我试验一下,似乎不能重新赋值。
4.清空变量
unset 变量名 ?
5.变量的值的引用 $变量名(即在变量名前加一个”$”符号就可以引用变量的值)必要时可在变量名为加花括号(如${num})
一定要分清变量和变量的值之间的关系,只有在引用变量的值时才要加”$”,在给变量赋值,声明变量等时不能加”$”。
容易犯的错误
1.上面的赋值方法只适用于之间的值的赋值,不可用于将其它函数的返回,命令的输出等赋值给变量。此种情况需要运用反引用,命令替换等方法。
2.普通变量的取名跟普通的编程语言相似(字母,数字,下划线),但是经常可以看见$1,$2,$*,$# 等符号,这些是位置变量和其它的一些特殊的变量,有特殊的用法和用途。