1. ホーム
  2. bash

[解決済み] Bashで標準出力と標準エラーの両方をファイルにリダイレクトして追記する方法

2022-03-16 11:57:20

質問

リダイレクトするには 標準出力 をBashで切り詰めたファイルに変換することは知っています。

cmd > file.txt

Bashで標準出力をリダイレクトし、ファイルに追加する方法ですが、私はこれを使うことを知っています。

cmd >> file.txt

標準出力とリダイレクトするために 標準エラー を切り捨てたファイルを使うことは知っています。

cmd &> file.txt

標準出力と標準エラー付加の両方をファイルにリダイレクトするには? cmd &>> file.txt は、私の場合はうまくいきませんでした。

解決方法を教えてください。

cmd >>file.txt 2>&1

Bashは以下のように左から右へリダイレクトを実行します。

  1. >>file.txt : 開く file.txt をアペンドモードにし、リダイレクト stdout があります。
  2. 2>&1 : リダイレクト stderr から どこで stdout は現在進行中です"。 . この場合、それはアペンドモードで開かれたファイルである。つまり &1 はファイルディスクリプタを再利用します。 stdout が現在使用している。