shell 重定向的区别

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

shell 重定向的区别

#1

帖子 windwiny » 2007-12-11 10:47

代码: 全选

#include <stdio.h>

int main()
{
   int i = 0;
   printf("%03d: printf 1\n", i++);
   fprintf(stdout, "%03d: fprintf stdout\n", i++);
   fprintf(stderr, "%03d: fprintf stderr\n", i++);

   printf("%03d: printf 2\n", i++);
   fprintf(stdout, "%03d: fprintf stdout\n", i++);
   fprintf(stderr, "%03d: fprintf stderr\n", i++);

   printf("%03d: printf 3\n", i++);
   fprintf(stdout, "%03d: fprintf stdout\n", i++);
   fprintf(stderr, "%03d: fprintf stderr\n", i++);

   return 0;
}


代码: 全选

XXX 1> /dev/null   重定向打印到 stdout 的信息
XXX 2> /dev/null   重定向打印到 stderr 的信息
XXX 1> /tmp/ab 2>& 1
XXX 2> /tmp/cd 1>& 2
XXX &> /tmp/ef   这三个一样,重定向stdout,stderr 的信息,不过stderr 的信息排列在文件前面,不知道是设计这样还是stdout 被延迟打印造成的

代码: 全选

    1>   2>   &>  1>&   2>&  是操作符,中间不能有空格
guocb
帖子: 20
注册时间: 2008-01-10 0:02
送出感谢: 0
接收感谢: 0

#2

帖子 guocb » 2008-01-10 0:40

呵呵,新手
回复

回到 “Shell脚本”