我知道你必须使用......
php lots_of_errors.php > temp.txt 2>&1
...如果要将错误日志重定向到temp.txt
您使用&1
表示它是文件描述符而不是文件,但为什么不使用&像&2>&1
那样在2前面签名?
答案 0 :(得分:6)
因为&
符号是shell知道您重定向到文件描述符而不是文件的方式。也就是说,>
运算符的左侧(LHS)总是文件描述符,但RHS通常是文件名。所以这个:
2>1
将文件描述符2重定向到文件名“1”。安培是shell知道你的意思是“文件描述符1”:
2>&1