Shell中对多个逻辑判断结果取非

Shell中对多个逻辑判断结果取非

1 前言

当一个if条件语句中,有多个逻辑判断的时候,想对这多个逻辑判断的结果取非,如何进行操作呢?

比如如下的逻辑判断:

if [ -n "$name" -a $name == "bulingfeng" ]

直接在if后面加个!后,发现语法异常了;

2 解决方案

把整个[ ]使用()进行包裹,然后进行取非即可,样例如下:

if !([ -n "$name" -a  $name == "bulingfeng" ])

3 拓展

如果你是使用(( ))[[ ]] 来进行的逻辑判断,同样使用( ) 把其进行包裹,然后取非即可;

posted @ 2022-03-25 17:45  bulingfeng  阅读(2026)  评论(0编辑  收藏  举报