【发布时间】:2013-09-18 15:11:09
【问题描述】:
有谁知道为什么我的 bash 行在下面给出的代码中返回 42:
真||真 && 假 ||返回 42
我想知道为什么程序到这一步是错误的 ||返回 42
感谢回答
【问题讨论】:
标签: bash
有谁知道为什么我的 bash 行在下面给出的代码中返回 42:
真||真 && 假 ||返回 42
我想知道为什么程序到这一步是错误的 ||返回 42
感谢回答
【问题讨论】:
标签: bash
true || true && false || return 42
它们只是按顺序处理:
首先它以 true 开头:返回 0。$? 设置为 0。
然后下一个|| true :未处理,因为$? 是第一个true 的0。
接下来是&& false :处理,因为$? 从第一个true 仍然为0,现在false 将$? 变为1。
那么最后一个是|| return 42:处理因为$?是最后一个false的1,代码返回42。
【讨论】: