"2>&1 > file"和 "> file 2>&1"区别?
时间:2015-01-19 12:52来源:linux.it.net.cn 作者:IT
什么是文件描述符?
文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。
最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。
"2>&1 > file"和 "> file 2>&1"区别?
1.php test.php 2>&1 > file :错误输出到终端,标准输出被重定向到文件file。
2.php test.php > file 2>&1 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。
-
<?php
-
$fp = fopen("php://stderr", "w");
-
fwrite($fp, "stderr\n");
-
fclose($fp);
-
-
$fp = fopen("php://stdout", "w");
-
fwrite($fp, "stdout\n");
-
fclose($fp);
-
-
//php test.php 2>&1 > /dev/null
-
//结果为:stderr
-
-
//php test.php > /dev/null 2>&1
-
//结果为无输出
-
?>
(责任编辑:IT) |
------分隔线----------------------------