パラメータを使用してプログラムを実行するBashスクリプトがあります。そのプログラムはいくつかのステータスを出力します(これを行う、それを行う...)。このプログラムを静かにするオプションはありません。スクリプトが何かを表示しないようにするにはどうすればよいですか?
Windowsの「エコーオフ」のようなものを探しています。
パラメータを使用してプログラムを実行するBashスクリプトがあります。そのプログラムはいくつかのステータスを出力します(これを行う、それを行う...)。このプログラムを静かにするオプションはありません。スクリプトが何かを表示しないようにするにはどうすればよいですか?
Windowsの「エコーオフ」のようなものを探しています。
以下は、標準出力を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
何かのようなもの
script > /dev/null 2>&1
これにより、標準出力とエラー出力が防止され、両方がにリダイレクトされます/dev/null
。
試す
: $(yourcommand)
:
「何もしない」の略です。
$()
はあなたの命令です。
andynormancxの投稿のように、これを使用します(Unix環境で作業している場合)。
scriptname > /dev/null
または、これを使用できます(Windows環境で作業している場合)。
scriptname > nul
これは別のオプションです
scriptname |& :