如何使用Bash抑制命令的所有输出?

问题描述 投票:284回答:7

我有一个Bash脚本,该脚本运行带有参数的程序。该程序输出一些状态(执行此操作,执行此操作...)。这个程序没有任何选择可以保持安静。如何防止脚本显示任何内容?

我正在寻找类似Windows的"echo off"

bash shell scripting echo
7个回答
499
投票

以下内容将标准输出发送到空设备(位存储桶)。

scriptname >/dev/null

并且,如果您还希望将错误消息发送到那里,请使用其中一个(第一个消息可能不适用于所有shell):]

scriptname &>/dev/null
scriptname >/dev/null 2>&1
scriptname >/dev/null 2>/dev/null

并且,如果您想记录消息但看不到消息,请用实际文件替换/dev/null,例如:

scriptname &>scriptname.out

为了完整起见,在Windows cmd.exe下(其中“ nul”等效于“ / dev / null”),它是:

scriptname >nul 2>nul

45
投票

类似


13
投票

尝试


9
投票

在某些情况下可能适合的替代方法是将命令的结果分配给变量:


6
投票

就像andynormancx一样,使用这个:(如果您在Unix环境中工作)



1
投票

在您的脚本中,您可以将以下内容添加到要提供输出的行中:

© www.soinside.com 2019 - 2024. All rights reserved.