if else类型计算器
1、在shell中并不支持计算操作,需要借助如expr之类的计算工具进行计算
2、在shell脚本中,进行计算的expr语句需要放在反引号中
read -p '请输入第一个数字:' a
read -p '请输入运算符:' b
read -p '请输入第二个数字:' c
if [ "$b" == '+' ]
then
echo "$a + $c = " `expr $a + $c`
elif [ "$b" == '-' ]
then
echo "$a - $c = " `expr $a - $c`
elif [ "$b" == '/' ]
then
echo "$a / $c = " `expr $a / $c`
else
echo "$a * $c = " `expr $a \* $c`
fi
3、在判断语句中,变量需要放在双引号中。因为当变量的值存在多个空格时,
shell解析时会误认为是多个参数,不知道该如何取值,从而会报错
read -p '请输入第一个数字:' a
read -p '请输入运算符:' b
read -p '请输入第二个数字:' c
if [ $b == '+' ]
then
echo "$a + $c = " `expr $a + $c`
elif [ $b == '-' ]
then
echo "$a - $c = " `expr $a - $c`
elif [ $b == '/' ]
then
echo "$a / $c = " `expr $a / $c`
else
echo "$a * $c = " `expr $a \* $c`
fi
case in类型计算器
read -p '请输入第一个数字:' a
read -p '请输入运算符:' b
read -p '请输入第二个数字:' c
case $b in
'+')
echo "$a + $c = " `expr $a + $c`
;;
'-')
echo "$a - $c = " `expr $a - $c`
;;
'/')
echo "$a / $c = " `expr $a / $c`
;;
'*')
echo "$a * $c = " `expr $a \* $c`
;;
*)
echo 'error'
esac