A && B || C 与 if then else fi

A && B || C 与 if then else fi

史蒂芬评论了

A && B || C不能用来代替适当的if then else fi

有人可以解释有什么区别吗?

答案1

在类似的情况下很容易犯错误A && B || C

它们几乎普遍都是“只写”的——一旦你编写了这样的复合语句并且它起作用了——就很难在不丢失整个逻辑的情况下改变这种语句的某些部分。

如果AB命令不是单字命令 - 这种复合语句可能会变得非常长并且难以阅读,因为您需要水平滚动该行。

如果Aor - 是带参数的命令,那么在长行单词中查找andB就会遇到问题。再次难以理解和维护。&&||

如果你有类似的东西

make && run_test

没事儿。但这实际上是可用性的一个程度。任何更多 - 最好重写为if then fi

相关内容