我正在用 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 脚本的新手,所以有人知道什么可以解决这个问题。
最佳答案
#!/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
关于linux - expr 给出语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32254793/