リダイレクトを理解する

ページを見付けたので紹介.

なるほど,これはわかりやすい.

$ command >file 2>&1

以前は,標準出力をfileに出力してから標準エラー出力を変更しても意味が無いはずなのになぜ正しく動作するのだろうと思っていた.しかし,実際は

  1. >file を評価する(標準出力をfileにする)
  2. 2>&1 を評価する(標準出力をfileにする)
  3. commandの実行

となる.パイプを使うとコマンドの出力結果が左から右へ流れるので勘違いしてしまったんだと思う.いやー勉強になりました.本当に感謝です.