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

我正在寻找Windows'"echo off"之类的东西。

最佳答案

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

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

10-06 13:06