在shell编程时候,使用的变量不需要事先声明
shell变量的命名规则如下:
1)首个字符是字母(a-z,A-Z)
2)中间不能有空格,可以使用下划线隔开(_)
3)不能使用标点符号
4)不能使用bash里的关键字
变量赋值和其它语言一样, 变量名=值
提取一个变量的值的时候,只需要美元符号$加在变量名字前就可以了。 (注意:在给变量赋值的时候,不能在“=”两边出现加空格)
例如:
#!/bin/sh
# 对变量赋值
a=“hello world” #等号两边没有空格
#打印变量a的值
echo “A is :” $a
挑选一个文本编辑器(如vi),把上述的内容输入,保存为test.sh
然后在terminal里运行 chmod +x test.sh
打印的结果就是 A is hello world
有时候变量会和其它的文字混淆,这时候需要借用花括号{}
比如:
#!/bin/sh
# 对变量赋值
num=3
echo “this is the $numrd
上述脚本不会输出this is the 3rd,而是会寻找变量numrd,显然没有
用花括号告诉shell那个是你要提取的变量,
echo” this is the ${num}rd”
这样输出结果就是this is the 3rd
如果花括号这样呢
echo” this is the {$num}rd”
输出的结果就是this is the {3}rd
还要注意,shell是默认赋值是字符串,所以以上的赋值不会进行数字运算。
如:var=1
var=$var+1
echo $var
打印的结果是1+1,而不是2
以下三种方法可以进行运算:
1)let “var+=1”
2) var=$[$var+1]
3)var=`expr$var + 1` #加号两旁要用空格
注意:前两种在bash下有效,在sh下会出错,安全起见第三种。
网友评论