【发布时间】:2014-11-30 20:55:47
【问题描述】:
我正在制作一个基本的计算器来进行加减乘除。
加法有效,但乘法无效。当我尝试乘法时,我得到“您没有正确运行程序”响应:
$ ./calculator 4 + 5
9
$ ./calculator 4 * 5
You did not run the program correctly
Example: calculator 4 + 5
我在谷歌上四处搜索,找到了\\* 代码,但仍然不起作用。有人可以给我一个解决方案或解释吗?
这是我的代码
#!/bin/bash
if [ $# != 3 ]; then
echo You did not run the program correctly
echo Example: calculator 4 + 5
exit 1
fi
if [ $2 = "+" ]; then
ANSWER=`expr $1 + $3`
echo $ANSWER
fi
if [ $2 = "*" ]; then
ANSWER=`expr $1 \\* $3`
echo $ANSWER
fi
exit 0
【问题讨论】:
-
你不太可能需要
expr;例如,ANSWER=$(( $1 + $3 ))应该适用于您可能在 Linux 中使用的任何 shell。
标签: linux bash shell unix expr