如何评估bash中的if块中的布尔变量?

前端之家收集整理的这篇文章主要介绍了如何评估bash中的if块中的布尔变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经定义了以下变量:
myVar=true

现在我想运行一下这样的线:

if [ myVar ]
then
    echo "true"
else
    echo "false"
fi

上面的代码工作,但如果我尝试设置

myVar=false

它仍然会输出true。
可能是什么问题?

编辑:我知道我可以做一些形式

if [ "$myVar" = "true" ]; then ...

但它是有点尴尬。

谢谢

bash不知道布尔变量,也不测试(这是什么,当你使用[)时调用

解决方案是:

if $myVar ; then ... ; fi

因为true和false是分别返回0或1的命令,这是什么如果期望。

请注意,这些值是“交换”的。在if之后的命令必须在成功时返回0,而在大多数编程语言中0意味着“false”。

猜你在找的Bash相关文章