在 Shell 中,字符串中的点导致 -eq 操作失败并出现错误:语法错误:预期操作数(错误标记为“\.test”)

在 Shell 中,字符串中的点导致 -eq 操作失败并出现错误:语法错误:预期操作数(错误标记为“\.test”)

这很好用:

if [[ "test" -eq "test" ]]
then
    echo "test compare"
fi

但如果我添加一个点,它就会失败

if [[ ".test" -eq ".test" ]]
then
    echo "test compare"
fi

语法错误:预期操作数(错误标记为“.test”)

答案1

-eq运算符用于比较整数,沒有編織。

您需要使用===来正确比较字符串:

if [[ '.test' = '.test' ]]
then
    echo "test compare"
fi

相关内容