Bash返回true false

时间:2013-09-18 15:11:09

标签: bash

有谁知道为什么我的bash行在下面给出的代码中返回42:

true ||真实&&假||返回42

我想知道为什么程序到达这一点是假的||返回42

感谢您的回答

1 个答案:

答案 0 :(得分:7)

true || true && false || return 42

只需按顺序处理它们:

首先它以true开头:返回0. $?设置为0。

然后下一个|| true:由于第一个$?中的true为0,因此未处理。

接下来是&& false:已处理,因为$?从第一个true开始仍为0,现在为假将$?变为1。

最后是|| return 42:已处理,因为$?距离上一个false为1,代码返回42。