在具有布尔值的变量中测试not条件

时间:2014-02-26 01:37:57

标签: shell testing if-statement boolean conditional-statements

我隐式地将一个布尔值赋给变量

x=false

我可以这样做

 $x || echo "the value is set to true"

但反向测试并不仅仅是短暂而甜蜜的

 { ! $x || echo "the value is set to false "  ; } 
在Bourne(Ksh)中,

评估为

 ! false

并且结果不一样

因此可以使用测试值来判断opp条件(!)

[ "$x"  = "true" ]

这是反向测试布尔值的唯一简短方法,还是有更好的方式来说明它

2 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题。你想根据$ x打印的东西是真还是假?如果是这样,我认为以下内容应该有效:

$x && echo "the value is true" || echo "the value is set to false "  ;

答案 1 :(得分:0)

if ! $x 
 then
    YourThenCode
 else 
    YourElseCode
 fi

样品

$ x=true;if ! $x ; then echo "True if"; else echo "false if" ;fi
false if
$ x=false;if ! $x ; then echo "True if"; else echo "false if" ;fi
True if