整数运算:
a=4
b=5
c=$a+$b //你以为这样的结果是9吗?
echo $c //4+5
shell默认都是字符串操作的,所以得到的才是4+5,而不是9,怎么搞?
1.加点料(()),用这个把这个表达式括起来
((c=a+b)) //这里不需要用$引用了
echo $c //9
或者更简单的写法:
echo $((a+b))
2.用let语句
let c=a+b
echo $c //9
上面这两种,想想写法是不是跟其它的编程语言差不多了,不需要$
=====================================================
浮点运算(我喜欢用awk来做):
awk 'BEGIN{print 4.1*8-2.78}' 结果是30.02,现在我想获取这个返回结果,怎么处理?用$()把命令包起来。
result=$(awk 'BEGIN{print 4*8-2}' )
echo $result //30.02
借助bc实现:
echo "1.2+2.3"|bc
浮点数的比较:
if [ `echo "1.2>1.1"|bc` -eq 1 ]; then
echo "True"
else
echo "False"
fi
字符串的比较:(用"=","==","!=")左右需要空格
a="jd"
b="taobao"
if [ $a = $b ]; then
echo "开玩笑"
else
echo "....."
fi