运算方式及运算符号
运算符号 | 意义 |
---|---|
+,- | 加法 $[a+b],减法 $[a-b] |
*,/,% | 乘法$[a*b],除法 $[a/b],取余 $[a%b] |
** | 幂运算 |
++,– | 自增加,自减少 |
< ,<=,>,>= | 比较符号 |
=,+=,-=,*=,/=,%= | 赋值运算,例如a+=1相当于a=a+1 |
Shell中常用的运算命令
(()) | 用于整数运算 |
---|---|
let | 用于整数运算,与(())类似 |
expr | 用于整数运算,功能相对较多 |
bc | linux下的计算器,适合整数及小数运算 |
$[ ] | 用于整数计算 |
编写脚本
使用计算的方式进行1分10秒的倒计时
read -p "please input the time: " M S
for ((I=60*M+S;I>0;I--))
do
MUN=$[I/60]
SEC=$[I%60]
echo -n After $MUN : $SEC is end
echo -ne " \r"
sleep 1
done
利用以上命令制作一个计算器要求如下
- 执行Calculator.sh后显示
- 请输入要操作的数字
- 请输入要操作的运算
- 请输入要操作的第二个数字
- 执行后显示操作后的数值
read -p "please input the first number: " NUM1
read -p "please input the way: " WAY
read -p "please input the second number:" NUM2
case $WAY in
'+')
echo $[$NUM1 + $NUM2]
;;
'*')
echo $[${NUM1}*${NUM2}]
;;
'/')
if [ "$NUM2" = "0" ]
then
echo "The NUM2 Cannot be 0"
else
echo $[${NUM1}/${NUM2}]
fi
;;
'-')
echo $[${NUM1}-${NUM2}]
;;
'**')
echo $[${NUM1}**${NUM2}]
;;
'%')
echo $[$NUM1%$NUM2]
;;
*)
echo "The WAY is not valid"
;;
esac
执行结果