Java 为什么bash字符串比较不再等于true
我有一个java配置文件,其中包含以下条目Java 为什么bash字符串比较不再等于true,java,bash,solaris,Java,Bash,Solaris,我有一个java配置文件,其中包含以下条目 Success=true 突然之间,这种比较似乎并不等于布尔真 if [ "$Success" == "true" ];then //do something fi 我已经检查了窗口的行尾和空格。这是Bash5.0.17,它是相当新的。它在Solaris上运行。看起来很简单,如果可能的话,我们不想编辑脚本。还有什么其他解释呢?允许使用==进行比较,但是 将=运算符与test[命令一起使用 在[[命令]中使用
Success=true
突然之间,这种比较似乎并不等于布尔真
if [ "$Success" == "true" ];then
//do something
fi
我已经检查了窗口的行尾和空格。这是Bash5.0.17,它是相当新的。它在Solaris上运行。看起来很简单,如果可能的话,我们不想编辑脚本。还有什么其他解释呢?允许使用==进行比较,但是
- 将=运算符与test[命令一起使用
- 在[[命令]中使用==运算符进行模式匹配
if [ "$Success" = "true" ]; then
//do something
fi
或
set-xv
显示了什么?我真的看不出Java有什么直接的相关性。配置中的条目如何进入变量$Success
?这不仅仅是魔术。有些东西正在解析行,将其拆分为键和值等。您需要显示这样做的代码,或者解释库在做什么。
if [[ "$Success" == "true" ]]; then
//do something
fi