我正在用bash编写一个简单的脚本:
#!/bin/bash
if [ $# -ne 3 ]; then
echo "Usage: $0 number1 operator number2"
exit 1
fi
opt=$2
case $opt in
+) echo "$1 + $3 = `expr $1 + $3`";;
-) echo "$1 - $3 = `expr $1 - $3`";;
/) echo "$1 / $3 = `expr $1 / $3`";;
x|X) echo "$1 * $3 = `expr $1 * $3`";;
esac
除了x|X
之外,所有案例都可以正常工作。为什么我似乎无法理解。
我在运行./script.sh 20 x 3
时遇到的错误是:
expr: syntax error
20 * 3 =
我是bash脚本新手,所以任何人都不知道可以解决这个问题的方法。
答案 0 :(得分:0)
#!/bin/bash
if [ $# -ne 3 ]; then
echo "Usage: $0 number1 operator number2"
exit 1
fi
opt=$2
case $opt in
+) echo "$1 + $3 = `expr $1 + $3`";;
-) echo "$1 - $3 = `expr $1 - $3`";;
/) echo "$1 / $3 = `expr $1 / $3`";;
x|X) echo "$1 * $3 = `expr $1 \* $3`";;
esac