Bash 忽略特定命令的错误

2024-02-03

我正在使用以下选项

set -o pipefail
set -e

在 bash 脚本中出现错误时停止执行。我有大约 100 行脚本正在执行,我不想检查脚本中每一行的返回代码。

但对于一个特定的命令,我想忽略该错误。我怎样才能做到这一点?


解决方案:

particular_script || true

Example:

$ cat /tmp/1.sh
particular_script()
{
    false
}

set -e

echo one
particular_script || true
echo two
particular_script
echo three

$ bash /tmp/1.sh
one
two

three永远不会被打印。

另外,我想补充一点,当pipefail已开启, shell 认为整个管道具有非零退出代码就足够了 当管道中的命令之一具有非零退出代码时(带有pipefail关闭它必须是最后一个)。

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

Bash 忽略特定命令的错误 的相关文章

  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 在 Bash 中替换垂直线

    我很难完成我的脚本 因为这一部分没有按照我想要的方式运行 我的脚本中有这一行 cat home tmp temp1 txt awk gsub RS gsub RS print gt home tmp temp txt 效果很好 是的 但是当
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • 无需超级用户即可在 Linux 中打开 RAW 套接字

    我必须编写一个在 Linux 上运行的 ping 函数 语言是 C 所以 C 也可以 在网上搜索并查看源代码ping命令 事实证明我应该创建一个原始套接字 icmp sock socket AF INET SOCK RAW IPPROTO
  • bash 脚本抱怨文件名太长

    所以我有一个脚本可以执行此操作 jq 是命令行 JSON 处理器 echo Getting LB Node IDs echo LB STATUS jq loadBalancer nodes id 最后一行的输出是 1 2 3 但是当我尝试将
  • 使用循环在 C 中管道传输两个或多个 shell 命令

    我正在尝试执行ls wc l通过 C 语言程序 而不是使用命令行 这是我当前的工作代码 int main int pfds 2 pipe pfds pid t pid fork if pid 0 The child process clos
  • 使用脚本从网站中提取电子邮件地址

    给定一个网站 我想知道以编程方式和 或使用脚本的最佳程序是什么 以纯文本形式提取每个页面上存在的所有电子邮件地址 电子邮件受保护 cdn cgi l email protection从该链接和下面的所有站点 递归或直到某个固定深度 使用 s
  • 为什么 fopen("any_path_name",'r') 不给出 NULL 作为返回值?

    在调试一些代码时 我得到如下内容 include
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 内核的panic()函数是否完全冻结所有其他进程?

    我想确认内核的panic 功能和其他类似kernel halt and machine halt 一旦触发 保证机器完全冻结 那么 所有的内核和用户进程都被冻结了吗 是panic 可以被调度程序中断吗 中断处理程序仍然可以执行吗 用例 如果
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • Bash:单行命令以与 grep 命令相反的状态退出?

    如何减少以下 bash 脚本 grep P STATUS Perfect recess txt exit 1 exit 0 看起来我应该能够用一个命令来完成它 但我这里总共有 3 个命令 我的程序应该 阅读课间休息 txt 如果它包含 ST
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 这种文件锁定方法可以接受吗?

    我们有 10 个 Linux 机器 每周必须运行 100 个不同的任务 这些计算机主要在我们晚上在家时执行这些任务 我的一位同事正在开发一个项目 通过使用 Python 自动启动任务来优化运行时间 他的程序将读取任务列表 抓取一个打开的任务
  • cdc_acm:无法设置 dtr/rts - 无法与 USB cdc 设备通信

    我试图使用 pic24fj128gb206 枚举 usb cdc 设备 设备似乎已正确枚举 但是当我将设备连接到 Linux PC 时 我从内核收到以下警告消息 cdc acm 1 8 1 6 7 1 0 failed to set dtr
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的

随机推荐

  • 将 PIL.Image 转换为 skimage

    我的项目中有 2 个模块 第一个模块以字节格式处理图像 第二个模块需要 skimage 对象 我需要将它们结合起来 我有这个代码 import io from PIL import Image import skimage io area
  • KnockoutJS css 绑定 != true

    我的视图模型正在返回truevalue 我正在尝试让我的模板相应地添加 CSS 问题是 我找不到 a true 的语法 我有这样的事情 div div 我想会说 如果选中 true 则应用 lw touched 如果选中 false 则应用
  • 行边框颜色

    我想设置边框 tr 至黄色 我可以设置边界 td 但不知道如何设置行边框 tr 这个怎么做 Thanks 这个例子 http jsfiddle net yahavbr a5TyU 在 IE8 Chrome 9 和 Firefox 3 6 上
  • Rubaxa Sortable 如何获取项目数组

    我知道这很明显 但我无法弄清楚 我正在使用 Rubaxa sortable 并且希望在添加 删除项目或对列表进行排序时使用 ajax 更新我的数据库 var editableList Sortable create document get
  • Prolog-映射(关联数组)

    我正在学习序言 想知道是否有人指导我如何做这个问题 这是这个领域的许多问题中的第一个 知道如何做这个问题将真正帮助我进步 先感谢您 使用 Prolog 定义一个谓词 mapof K M V 这样 当 K 实例化为键 M 实例化为映射而调用时
  • 使用 fetch API 时在 AJAX 调用期间显示微调器

    在我的项目中 我正在迁移到 React 因此不加载 JQuery 由于我不再使用 JQuery 因此对于 AJAX 调用我使用 fetch 使用 JQuery 我可以挂钩 AJAX 调用的开始和结束 因此可以非常轻松地将光标更改为微调器 我
  • 如何在 Design Automation API 中创建数据转换活动?

    我正在制作一个 Web 服务原型 以使用 Autodesk Forge 中的 Design Automation API 转换数据 我的方法是调用一个执行脚本的活动来导入目标数据文件 例如STEP IGES格式 例如 我创建了一个将 STE
  • Mockito 创建模拟对象时抛出 NullPointer

    我有一个集成测试 其中一些设置是使用 Guice 完成的 我正在使用 Mockito 来模拟一些依赖项 到目前为止 这对我来说效果很好 我需要使用 PowerMock 来实现其他一些依赖项 现在 Mockito 正在抛出一个NullPoin
  • React Native ios不显示本地图像

    环境 苹果系统 10 14 6 Xcode 11 0 反应 16 8 6 反应本机 0 60 5 项目文件夹结构 谷歌驱动器图像链接 https drive google com open id 1nvB O5LH2p vq9qyR V7c
  • Java 和 C# 应用程序之间的 SSL 通信

    我的目标是在 Java 服务器和用 C 编写的客户端之间建立安全通信 java服务器代码 System setProperty javax net ssl keyStore cert mySrvKeystore System setProp
  • 递归 http-api 调用后向订阅者发送消息

    我想获取节点列表来创建所述节点对象的数组 以便显示层次结构 基础数据 结构如下所示 ROOT ID 1 NODE ID 2 NODE ID 4 NODE ID 11 NODE ID 3 NODE ID 5 NODE ID 6 NODE ID
  • Django - QuerySet 中的唯一列表

    我有一个过滤后的查询集 其中有一个多对多字段 客户端 我想创建查询集中所有 Client 对象的唯一字典 因此 Projects Queryset Project1 client
  • Xamarin.Forms ListView 通过代码设置 SelectedItem

    我怎样才能设置SelectedItem我的代码中的 ListView 我的问题是 当我在代码中预选择一个项目时 它没有突出显示 ListView 在 xaml 文件中定义
  • 如何手动触发路由解析器

    我在访问之前解析用户帐户片段 of my 用户页面 应用程序路由 component ts path users id component UserComponent resolve user UsersService children p
  • 在 AppleScript 中的“do shell script”对话框中添加进度条

    我正在开发一个用 AppleScript 编写的应用程序 它将 St Bernard 重定向 LaunchDaemon 移动到当前用户的目录 以便用户可以访问家里的任何网站 但让他们在返回学校之前将其放回去 原因是在学校 iPrism 会屏
  • 在 Visual Studio 代码中添加自定义库

    我正在制作一个扩展名为 h 的静态 cpp 库 并且我已在扩展名为 cpp 的不同文件中编写了相同的源代码 现在我想制作一个测试脚本 其中包含我刚刚创建的自定义库 当我使用这个库时 include
  • ng 未被识别为内部或外部命令

    运行 Windows 7 Professional 32 位 I tried running npm install g angular cli both under normal or admin I also tried adding
  • Spring oauth2 hasRole 访问被拒绝

    我对 OAuth2 非常陌生 并尝试在角色 auth server 中构建一台服务器来授权用户 并构建一台保留受保护资源的服务器 我在使用 ResourceServerConfigurerAdapter 时遇到了一些问题 看起来他忽略了从
  • Haskell Random 无法构造无限类型:a1 = IO a1

    我想用 Haskell 生成一个包含 26 个随机整数的列表 其总和为 301 我写下以下内容 import System Random f 1 sum sum f n sum m f n 1 sum m where m randomRIO
  • Bash 忽略特定命令的错误

    我正在使用以下选项 set o pipefail set e 在 bash 脚本中出现错误时停止执行 我有大约 100 行脚本正在执行 我不想检查脚本中每一行的返回代码 但对于一个特定的命令 我想忽略该错误 我怎样才能做到这一点 解决方案