【AIによる回答】
標準エラー出力(stderr)を抑制するには、主に/dev/nullにリダイレクトする方法と、標準出力にマージしてから破棄する方法があります。具体的にはcommand 2> /dev/nullでエラーを捨てるか、command > /dev/null 2>&1で標準出力とエラー出力をまとめて破棄します。
1. 標準エラー出力を捨てる(一番シンプル)コマンドの後に2> /dev/nullを追加すると、エラーメッセージだけが/dev/null(捨てる場所)に送られます。bashcommand 2> /dev/null
2: ファイルディスクリプタ番号(標準エラー出力)>: リダイレクト記号/dev/null: データを破棄する特殊なファイル2. 標準出力と標準エラー出力をまとめて捨てる標準出力と標準エラー出力の両方を画面に出さなくする場合に使います。bashcommand > /dev/null 2>&1
> /dev/null: まず標準出力を/dev/nullへ送る。2>&1: 次に、標準エラー出力(2)を、すでに/dev/nullにリダイレクトされている標準出力(1)と同じ場所へ送る。- 注意:
2>&1を>の前に置くと、標準出力はリダイレクトされず、標準エラー出力だけが/dev/nullに送られてしまうので順番が重要です。3. 特定のエラーだけをファイルに記録するエラーメッセージを画面に出さず、ファイルに保存したい場合は、ファイル名を指定します。bashcommand 2> error.log
error.logにエラー内容が書き込まれます(ファイルが存在しない場合は新規作成されます)。
