本文讲解Shell自定义变量的使用。
命名规则
变量名称可包含字母(a-z,A-Z),数字(0-9)和下划线“_”。开头字符只能是字母或下划线。
正确的变量命名:name,_name,na_me,na_ME,name_1,__
错误的变量命名:1name,na?me
变量定义
Shell中变量定义格式:variable_name=variable_value
需要注意的是,在编写其他语言时,我们常利用空格排版,比如定义变量时写成:variable_name = variable_value。等号两侧的空格虽提高了可阅读性,但在shell中这是不允许的。
定义变量的例子:
上例中,前三个定义是正确的。最后一个定义出现错误。因为空格导致系统认为v是一个命令,而事实上并无v命令,于是产生如图示错误。
变量引用
使用特殊符号“$”引用变量。
编写脚本:
#
# shell-variable defining and accessing
#
seq="a b c"
num=101
echo $seq
echo $num
echo "I am $USER"
执行结果:
本例中,seq和num是用户变量,USER是系统变量。
只读变量
使用readonly命令可以指定一个变量为只读变量。
例子:
num=1
readonly num
echo $num
#num=2
如果不注释掉“num=2”一句,将报错:num: readonly variable
删除变量
使用unset命令可以删除已定义的变量。
格式:unset variable_name
例子:
num=1
echo $num
unset num
#echo $num
如果不注释掉“echo $num",该语句将不会输出任何东西。
注意的是,不能使用unset删除只读变量,否则会产生错误: cannot unset: readonly variable