将错误重定向到unix中的文件

时间:2012-08-01 17:37:34

标签: bash shell unix

我知道你必须使用......

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

...如果要将错误日志重定向到temp.txt

  • 1 =标准输出(程序打印正常输出)
  • 2 =标准错误(程序打印错误)

您使用&1表示它是文件描述符而不是文件,但为什么不使用&像&2>&1那样在2前面签名?

1 个答案:

答案 0 :(得分:6)

因为&符号是shell知道您重定向到文件描述符而不是文件的方式。也就是说,>运算符的左侧(LHS)总是文件描述符,但RHS通常是文件名。所以这个:

2>1

将文件描述符2重定向到文件名“1”。安培是shell知道你的意思是“文件描述符1”:

2>&1