0

私はあなたが使用しなければならないことを知っています...

php lots_of_errors.php > temp.txt 2>&1

...エラーログをtemp.txtにリダイレクトする場合

  • 1 =標準出力(プログラムが通常の出力を出力する場合)
  • 2 =標準エラー(プログラムがエラーを出力する場合)

あなた&1はそれがファイルではなくファイル記述子であることを示すために使用しますが、なぜあなたはそのように2の前で使用して署名しません&2>&1か?

4

1 に答える 1

6

&シンボルは、ファイルではなくファイル記述子にリダイレクトしていることをシェルが認識する方法であるためです。>つまり、演算子の左側(LHS)は常にファイル記述子ですが、RHSは通常ファイル名です。したがって、この:

2>1

ファイル記述子2をファイルファイル「1」にリダイレクトします。アンペアランドは、シェルが「ファイル記述子1」を意味することを認識する方法です。

2>&1
于 2012-08-01T17:40:36.137 に答える