五、Shell运算

 

整数值运算

使用expr命令:只能做整数运算,默认返回计算结果

格式:

expr 整数1 运算符 整数2 ...

整数值可以有变量提供,直接给出运算结果

+      加法   expr 43 + 21 、expr $X + $Y
-      减法  expr 43 - 21 、expr $X - $Y
\*      乘法  expr 43 \* 21 、expr $X \* $Y
/       除法  expr 43 / 21 、expr $X / $Y
%       取余数 expr 43 % 21 、expr $X % $Y 

例子:

#!/bin/bash
#计算用户从终端输入的任意2个数的和
read -p "请输入第一个数" num1
read -p "请输入第二个数" num2
sum=`expr $num1 +  $num2`
echo "$num1 + $num2 = $sum"

使用$[]$(())表达式

需借助echo输出结果,运算类型与expr类似
乘法*不用加转义符\
使用变量时,直接指定变量名,不用加$符号

shell中如何进行算术运算:

let 算术运算表达式           let C=$A+$B
$[算术运算表达式]            C=$[$A+$B]
$((算术运算表达式))           C=$(($A+$B))
expr 算术运算表达式,
表达式中各操作数及运算符之间要有空格,
而且要使用命令引用 C
=`expr $A + $B`

表达式的简化

变量的递增、递减等操作

 

简写表达式    完整表达式
i++        i=i+1
i--       i=i-1
i*=2      i=i*2
i+=2      i=i+2
i-=2      i=i-2
i%=2     i=i%2

注意:

i++:先参与其他操作,后运算
++i:先运算,再参与其他操作

例子:

i=1
echo $((++i))
j=1
echo $((j++))

变量的自增/减等操作

使用let命令

操作变量值,只运算,不输出结果
若要查看结果,需借助echo命令
let:只做运算不返回计算结果,适用于自加和自减运算
#!/bin/bash
i=10 
let i-=2
echo $i
let i-=2
echo $i
echo -------------------
i=10 
let i+=2
echo $i
let i+=2
echo $i

猜你喜欢

转载自www.cnblogs.com/zhongguiyao/p/8983262.html