1. ホーム
  2. bash

[解決済み] Bashを使用してコマンドからの出力をすべて抑制するにはどうすればよいですか?

2022-03-17 18:21:57

質問

私は、パラメータでプログラムを実行するBashスクリプトを持っています。 そのプログラムは、何らかのステータス(doing this, doing that...)を出力します。このプログラムには、静かにするオプションはありません。どうすればスクリプトに何も表示させないようにできますか?

Windowsのようなものを探しています。 "echo off" .

解決方法は?

以下は、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