如何使 Bash 脚本中所有命令的输出静音?

Bor*_*ard 17 bash

我的 Bash 脚本调用了很多命令,其中大部分都输出了一些东西。我想让他们都沉默。现在,我&>/dev/null在大多数命令调用的末尾添加,如下所示:

some_command &>/dev/null
another_command &>/dev/null
command3 &>/dev/null
Run Code Online (Sandbox Code Playgroud)

一些命令具有类似--quiet或类似的标志,但我仍然需要为所有命令解决这个问题,并且我宁愿默认情况下使所有命令静音,并且只允许显式输出,例如通过echo.

Bar*_*mar 16

您可以使用该exec命令重定向脚本其余部分的所有内容。

您可以使用3>&1将旧的 stdout 流保存在 FD 3 上,因此如果您想查看输出,可以将输出重定向到该流。

exec 3>&1 &>/dev/null
some_command
another_command
command_you_want_to_see >&3
command3
Run Code Online (Sandbox Code Playgroud)