TIL

2>&1 で、標準エラーを標準出力にまとめる

shell

2>&1 をばらすと以下の通り。

  - 1 = 標準出力(stdout)— 正常な出力                                                                          
  - 2 = 標準エラー出力(stderr)— エラーメッセージ                                                              
  - > = リダイレクト(出力先を変える)                                                                          
  - &1 = 「ファイルディスクリプタ1(stdout)と同じ場所」    

つまり 2>&1 は 「stderr を stdout にまとめる」 という意味

これがないと、パイプで tail などに渡す時、エラーだけが貫通する。

パイプはシェルの仕様として fd 1(stdout)だけを次のコマンドの入力に接続するため。

← Back