![](/img/trans.png)
[英]Multiple conditions with arithmetic, comparison and regular operators in if statement
[英]Shell Scripting Arithmetic Operators for Comparison
当我通过算术比较遇到此问题时,我正在尝试学习shell脚本并遵循tutorialspoint上的教程。
$VAL1=10
$VAL2=20
$VAL3=10
if [ $VAL1 == $VAL2 ]
then
echo "equal"
else
echo "not equal"
fi
但是我得到了[: ==: unexpected operator
我不确定为什么比较运算符不起作用。 我知道我也可以使用有理运算符,但是我想知道为什么未定义'=='。
您想要将其更改为:
VAL1=10
VAL2=20
VAL3=10
if [ "$VAL1" -eq "$VAL2" ]
then
echo "equal"
else
echo "not equal"
fi
说明:
$
。 [: ==: unexpected operator
错误是因为,由于VAL1
/ VAL2
的分配不正确,测试的ksh扩展实际上最终解决了这个问题: if [ == ]
-(但您看到它实际上不是有关==
的问题) ==
表示法:
-eq
(==) -ne
(!=) -gt
(>) -ge
(> =) -lt
(<) -le
(<=)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.