我有一个java配置文件,其中包含以下条目
Success=true
突然之间,这种比较似乎并不等同于布尔值为真。
if [ "$Success" == "true" ];then
//do something
fi
我已经检查了Windows的行尾和空格。这是bash 5.0.17,它是相当新的。它在Solaris上运行。看起来很简单,如果可能的话,我们不想编辑脚本。还有什么其他解释?
使用==进行比较是允许的,但不是标准的。
- 在test[命令中使用=运算符
- 使用==运算符和[[命令进行模式匹配
所以修复可能是这样的:
if [ "$Success" = "true" ]; then
//do something
fi
或
if [[ "$Success" == "true" ]]; then
//do something
fi