shell中两个输入变量的乘积

时间:2016-05-18 16:12:36

标签: linux shell operating-system

程序运行正常" +" " - "," /"

示例:

./calculate.sh 1 + 2 ==> output is 3.

但问题出在我输入的时候:

./calculate.sh 1 * 2 ==>output is "Please ..."

我已尝试"\*"这样但看起来变量$ 2无法得到我想要的。

任何人都可以帮我解决这里的问题吗?

#!/bin/sh
if [ $# -ne 3 ]
 then
      echo "Please input a number , an operator + or - or * or /"
 else
      case "$2" in 
            "+") echo "Sum is `expr $1 + $3`";;
            "-") echo "Substraction is `expr $1 - $3`";;
            "*") echo "Product is `expr $1 \* $3`";;
            "/") echo "Division is `expr $1 / $3`";;
      esac
fi

1 个答案:

答案 0 :(得分:0)

你应该像这样使用它

./calculate.sh 2 \* 3

./calculate.sh 2 "*" 3

或者

./calculate.sh 2 '*' 3

您使用的是“\ *”,这是错误的。