【发布时间】:2014-02-26 01:37:57
【问题描述】:
我将布尔值隐式分配给变量
x=false
我能做到
$x || echo "the value is set to true"
但反向测试并不仅仅是那么简短和甜蜜
{ ! $x || echo "the value is set to false " ; }
在 Bourne (Ksh) 中,它的评估类似于
! false
结果不一样
因此可以对 opp 条件 (!) 使用测试值
[ "$x" = "true" ]
这是对布尔值进行反向测试的唯一捷径还是有更好的表达方式
【问题讨论】:
-
{ ! $x || echo "the value is set to true"; }在 BASH/ksh 中工作正常 -
阿努巴瓦。欢迎回来,再次感谢。嗯 - 我正是我过去使用的,但它没有给出可预测的结果,尤其是在你“和”它的情况下,所以我改为 true
-
制作
x=true,然后调用上面的方法查看它是否打印。! $x ||表示 2 个负数。 -
是的,谢谢。我的情况 - 我在case语句之前将标志设置为false,然后在'em中将它们设置为true
-
我会在几秒钟内更新我的 Q
标签: shell testing if-statement boolean conditional-statements