342

パラメータを使用してプログラムを実行するBashスクリプトがあります。そのプログラムはいくつかのステータスを出力します(これを行う、それを行う...)。このプログラムを静かにするオプションはありません。スクリプトが何かを表示しないようにするにはどうすればよいですか?

Windowsの「エコーオフ」のようなものを探しています。

4

8 に答える 8

602

以下は、標準出力をnullデバイス(ビットバケット)に送信します。

scriptname >/dev/null

また、そこにエラーメッセージを送信する場合は、次のいずれかを使用します(最初のメッセージはすべてのシェルで機能しない場合があります)。

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
于 2009-03-05T23:39:17.587 に答える
50

何かのようなもの

script > /dev/null 2>&1

これにより、標準出力とエラー出力が防止され、両方がにリダイレクトされます/dev/null

于 2009-03-05T23:41:10.313 に答える
17

試す

: $(yourcommand)

:「何もしない」の略です。

$()はあなたの命令です。

于 2015-09-23T01:48:22.973 に答える
8

andynormancxの投稿のように、これを使用します(Unix環境で作業している場合)。

scriptname > /dev/null

または、これを使用できます(Windows環境で作業している場合)。

scriptname > nul
于 2009-03-05T23:44:57.513 に答える
3

これは別のオプションです

scriptname |& :
于 2013-02-12T20:50:26.520 に答える