为什么在 Bash 中“false && true”不使用 set -e 退出? [复制]

2023-12-08

为什么第三个案例返回成功,退出代码为 0?

case 1 ~$ bash -c 'set -e; false || true; echo success'; echo $?
success
0
case 2 ~$ bash -c 'set -e; true || false; echo success'; echo $?
success
0
case 3 ~$ bash -c 'set -e; false && true; echo success'; echo $?
success
0
case 4 ~$ bash -c 'set -e; true && false; echo success'; echo $?
1
case 5 ~$ bash -c 'set -e; false || false; echo success'; echo $?
1
case 6 ~$  bash -c 'set -e; false && false; echo success'; echo $?
success
0

The bash 文档 for set -e says:

如果失败的命令是在 [...] 中执行的任何命令的一部分,则 shell 不会退出&& or ||列出除了最后一个命令之外的命令&& or ||, [...]

有问题的命令列表是false && true。失败的命令是false,这不是列表中的最后一个命令,因此 shell 不会退出。这0你看到的是退出状态echo success.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在 Bash 中“false && true”不使用 set -e 退出? [复制] 的相关文章

随机推荐

  • Python + Github REST API:更新文件内容请求的问题

    我从以下网站获得 Status 400更新文件内容Github API 即使 400 不在可能的列表中HTTP 响应状态 我的问题是content密钥需要进行 Base64 编码 但是 当我将内容转换为 base64 时 API 会响应 解
  • MVVMCross 中的自定义插件

    我正在开发 MVVMCross v3 我想创建自己的插件 我遵循了本教程 适用于 vNext http slodge blogspot fr 2012 10 build new plugin for mvvmcrosss html 为了兼容
  • 如何从简单的 json 制作所需的 json 树

    我在转换简单时遇到问题json into json tree 我需要遵循的步骤是 发现父母有pid 0会有一些 id 5a016637e986c90418e96ee9 上面发现 id 5a016637e986c90418e96ee9 as
  • 如何从 Gmail 的主收件箱中获取未读邮件?

    我在我的应用程序中使用 Javascript 客户端 API 并尝试从主收件箱获取未读邮件 如果我在请求标签时使用收件箱和未读名称 我会从所有标签中获取所有未读邮件 没有其他标签类型名称有效 我已经在 API 资源管理器中进行了实验 但我似
  • 尽管文件已被另一个程序更改,但 fread 未读取更新的值

    有两个程序同时处理我的特殊文件 他们有一个共同的起点 define TASK POSITION 0x0100 include
  • Swing 中自动增大字体大小

    I would like to know if there are methods of automatically increasing the font size based on the size of a component I h
  • 检索变量声明

    当我几百岁的时候 我怎样才能找到我是如何第一次声明某个变量的 从我第一次声明的地方开始 例如 我声明了以下内容 a lt c vectorA vectorB vectorC 现在我想看看我是如何声明的 我怎样才能做到这一点 谢谢 您可以尝试
  • 参数化 pytest 夹具

    据我从有关 pytest 夹具参数化的文档中了解到 它使用给定的参数创建夹具的副本 从而调用需要具有不同副本的夹具的每个测试 我的需求有点不同 假设有一个固定装置 pytest fixture def sample foo return F
  • “svn:externals”有什么好处?

    如果我没有遇到过 我就不会了解 svn externals这一页 所以 我设置了我的工作文件夹 然后 mkdir lib vendor svn add parents lib vendor svn ps svn externals symf
  • 用于检测浏览器功能/插件的 JavaScript 库

    我正在尝试找到一个 最好是开源的 JS 库来确定尽可能多的有关用户 Web 浏览器环境的信息 我知道可以获得以下数据 屏幕分辨率 User Agent Accept Language 和其他首选项通常在 HTTP 标头中发送 安装的插件 通
  • 如何在 Flutter 中将事件从一个有状态小部件广播到另一个有状态小部件

    我想将事件从一个有状态小部件广播到另一个有状态小部件 但似乎找不到一种方法 我安装了这个插件 event 1 1 4 但它没有触发 我想要如下所示的东西 Stateful Widget 1 SomeEventClass broadcastE
  • PHP 中的 GET URL 参数

    我试图在 php 中将 URL 作为 url 参数传递 但是当我尝试获取此参数时 我什么也没得到 我使用以下网址形式 http localhost dispatch php link www google com 我正在努力解决这个问题 G
  • 使用 JSTL XML taglib 时出错 - 属性 xml 不接受任何表达式

    当我尝试使用 JSTL XML 标记库时出现以下错误 server side transform jsp 51 0 According to TLD or attribute directive in tag file attribute
  • Java 中 ContainsAll 的成本是多少?

    我发现containsAll a List接口方法 在今天的一些编码中 它看起来非常光滑 有谁知道这在性能 迭代方面要花多少钱 The 文档在这方面没有提供太多 使用来源 卢克 编辑 正如博佐指出的 你问的是List containsAll
  • 在 ES6 中导入所有内容,但不在对象内部[重复]

    这个问题在这里已经有答案了 无论如何不写这个 import replace in mtstr tot width rationalize eval expression ascii to latex latex to ascii getIn
  • WIX(删除所有以前的版本)

    在 添加或删除程序 下我可以看到五个版本 ApplicationName v3 0 4 0 ApplicationName v3 0 4 18 ApplicationName v3 0 5 27 ApplicationName v3 0 5
  • Facebook iFrame 应用程序:如何从 URL 查询字符串传递数据

    我有一个带有图片库的 Facebook 应用程序 它是在 Flex 4 中构建的 我想允许用户链接到特定图像 那怎么办呢 我看到完成此操作的唯一方法是在 Facebook 页面 URL 中添加像 my picture asd jpg 这样的
  • 表排序器。按下拉选择排序

    我有一个简单的表 其中包含 ID 和姓名 名字 姓氏 字段 在表格上方有一个下拉列表 其中包含选项 ID 名字 姓氏 根据下拉表的选择进行排序 我不知道如何根据选择触发 tablesort 排序功能 也许这就是你想要的 demo HTML
  • 如何在nextjs中用两个url链接同一页面

    如果用户正在搜索特定城市 我想在页面名称之前的网址中显示城市名称 如果用户没有搜索特定城市 那么我想显示正常的网址 我们如何在 Next Js 中实现这一点 Ex http localhost 3000 Delhi furniture ht
  • 为什么在 Bash 中“false && true”不使用 set -e 退出? [复制]

    这个问题在这里已经有答案了 为什么第三个案例返回成功 退出代码为 0 case 1 bash c set e false true echo success echo success 0 case 2 bash c set e true f