在Bash IF条件语句中,感叹号代表否定吗?

5

我见过类似以下的内容

if ! some-command; then
    #do something
fi

感叹号的作用是什么?我看到如果使用括号,它可以用于否定
这里的效果是相同的吗?
2个回答

6

man bash 所述:

如果保留词 ! 在管道之前,那么该管道的退出状态是上述退出状态的逻辑否定。


1

“echo $?“将始终返回“0”,因为“if…then…fi”块的退出状态为0。尝试使用不同的组合,您会发现即使“if”语句被破坏(例如语法错误),它也将始终为0。 - alvits
2
简而言之,if...fi 块的退出状态是块内列表的退出状态,而不是条件的退出状态。 - alvits

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接