bash - 如果退出代码不为零,则在 Bash 中隐藏命令输出

标签 bash

我有一个 Bash 命令,它在 STDOUT 上产生输出,退出代码可以为零或非零。

如果退出代码不为零,我想隐藏输出,如果退出代码为零,我想分别显示输出。

如何在不运行两次命令的情况下实现这一目标?

最佳答案

  • 将输出保存到一个变量,
  • 检查返回码然后
  • 如果输出为零则打印输出

    output="$(command)"
    
    if [[ $? -eq 0 ]] ; then
        echo "$output"
    fi
    

关于bash - 如果退出代码不为零,则在 Bash 中隐藏命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322894/

相关文章:

linux - 如何在保持打印在屏幕上的同时将打印存储在变量中?

linux - 如何在 shell 脚本中的函数内打印变量值?

linux - 在 bash 中将字符串作为包含管道的命令执行

linux - Bash 中 ${} 和 $() 的区别

c - 共享内存编程错误(O_RDRW、PROT_WRITE、MAP_SHARED)

linux - 检查字符串是否在命令答案中

bash:显示 ffmpeg 的过滤和动态输出

bash 脚本在它打开的奇点容器中执行操作

linux - 独特的列并获得 linux 中的频率

python - python 上的 bash 扩展模块