标准输出和标准错误的中定向如下:

 

 
  
  1. echo "something" > stdoutfile 2> stderrfile  

但是如何将信息写入标准错误呢?如下:

 

 
  
  1. echo "something..." > /dev/stderr 

如下测试:

 

 可以看到,将标准输出重定向到文件tt并不能把写入标准错误的aaaa写入tt文件。

C中实现写入标准错误:

当一个程序开始运行时,一般会有三个已经打开的文件描述符,0-标准输入;1-标准输出;2-标准错误。然后调用函数write()即可写入相应的文件描述符中。

 

 
  
  1. #include <unistd.h> 
  2. #include <stdlib.h> 
  3.  
  4. int main() 
  5.     if((write(1,"abc\n",4)) != 4){ 
  6.         write(2,"ERROR\n",6); 
  7.     }