Sug*_*ara 1 bash shell scripting comparison operators
我正在尝试学习shell脚本,并在我遇到算术比较这个问题时遵循tutorialspoint上的教程.
$VAL1=10
$VAL2=20
$VAL3=10
if [ $VAL1 == $VAL2 ]
then
echo "equal"
else
echo "not equal"
fi
Run Code Online (Sandbox Code Playgroud)
但我得到了一个[: ==: unexpected operator我不知道为什么比较运算符不起作用.我知道我也可以使用有理算子,但我想知道为什么'=='没有定义.
sam*_*hen 11
您想将其更改为:
VAL1=10
VAL2=20
VAL3=10
if [ "$VAL1" -eq "$VAL2" ]
then
echo "equal"
else
echo "not equal"
fi
Run Code Online (Sandbox Code Playgroud)
说明:
$在赋值中添加左值(被赋值的变量).[: ==: unexpected operator你得到的错误是因为,由于VAL1/ VAL2之前没有正确分配,你的测试的ksh扩展实际上最终解决了这个问题:if [ == ]- (但是你看到它实际上不是==未定义的问题)==表示法:
-eq (==)-ne (!=)-gt (>)-ge (> =)-lt (<)-le (<=)| 归档时间: |
|
| 查看次数: |
9383 次 |
| 最近记录: |