我创建了一个执行计算的脚本。例如:
count 1 + 3
1 + 3 = 4
,
-
也/
可以,但是如果我输入 count 1 * 3
,我得到了
应该是数字操作数
这是脚本的一部分:
if [ "$#" -ne 3 ]; then
echo "Should be number operand number"
exit 1
fi
...
elif [ "$2" = "*" ]; then
result=`echo $1 \* $3 | bc`
echo "$1 * $3 = $result"
是的,如果我\
之前*
在命令行中输入它会起作用,但我需要它只使用*
.
我尝试-f
在脚本中使用 set 它不起作用(是的,如果我输入 bash 本身,它会禁用特殊字符,但这不是我需要的)。还有一个shopt
控制 shell 行为的命令,所以我尝试启用一些选项,如shopt -s globstar
, nullglob
,promptvars
等。它不起作用。我把命令放在 if 语句之前可能是错误的。
如果有人纠正我或告诉其他方式来禁用脚本内部对特殊字符的解释,我将不胜感激。