脚本计算器部门

时间:2012-05-03 10:55:54

标签: bash shell logic

我的语法有问题,我希望以十进制输出两个数字的除法,但是如果我输入4和5,当我将其他所有其他工作正常时,我的输出为0而不是0.8。

case $ch in
  1)sum=`expr $n1 + $n2`
   echo "Sum ="$sum;;
  2)sum=`expr $n1 - $n2`
    echo "Sub = "$sum;;
  3)sum=`expr $n1 \* $n2`
    echo "Mul = "$sum;;
  4)sum=`expr $n1 / $n2`
    echo "Div = "$sum;;
  *)echo "Invalid choice";;
esac

2 个答案:

答案 0 :(得分:2)

Expr只实现整数运算。考虑使用其他内容,例如dc

答案 1 :(得分:2)

使用bc

sum=`echo -e "scale=5\n$n1/$n2" | bc`

你的部门会给0.8这个。