我的if语句出现问题,由于某种原因它无法运行。这是代码:
if (( $digit1 -ne $digit2 )); then
echo "test"
fi
我收到以下错误消息:line 32: ((: 1 -ne 2 : syntax error in expression (error token is "2 ")
**我的数字设置为2
答案 0 :(得分:1)
您使用的是表单:
((expression))
根据算术评估规则评估表达式。
您有两种选择。修复运算符,即使用!=
:
if (( d1 != d2 )); then
或使用test
:
if [ $d1 -ne $d2 ]; then
如果您正在使用算术上下文:
!, ~ logical and bitwise negation
引自help test
:
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
答案 1 :(得分:1)
正如@devnull所说并添加,请使用:
if [ $digi1 -ne $digi2 ]; then
echo "Unequal numbers"
fi