&1 > file"和 "> file 2>&1"区别?" />

当前位置: > shell编程 >

"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。
 
  1. <?php  
  2. $fp = fopen("php://stderr", "w");  
  3. fwrite($fp, "stderr\n");  
  4. fclose($fp);  
  5.   
  6. $fp = fopen("php://stdout", "w");  
  7. fwrite($fp, "stdout\n");  
  8. fclose($fp);  
  9.   
  10. //php test.php 2>&1 > /dev/null  
  11. //结果为:stderr  
  12.   
  13. //php test.php > /dev/null 2>&1  
  14. //结果为无输出  
  15. ?>  

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容