Jas*_*ung 4 c unix linux shell
我无法理解这两种情况之间的区别:
./a.out > outfile 2>&
我可以在outfile中看到标准输出和错误输出
./a.out 2>& > outfile
我只能看到标准输出int outfile,并在屏幕上打印错误输出
我该怎么理解这个?我认为他们是一样的!
adl*_*adl 8
n> file创建/截断file并将其与文件描述符相关联n.如果n未指定,1则假定(即标准输出).
n> file
file
n
1
n>&m将dup2()文件描述符复制(使用)m到n.
n>&m
dup2()
m
因此,如果您编写./a.out 2>& >outfile,则首先将标准输出描述符复制到stderr描述符,然后将stdout重定向到outfile.
./a.out 2>& >outfile
如果您愿意,可以将这些重定向运算符视为赋值:
2>& >file
fd2 := fd1; fd1 := "file"
>file 2>&
fd1 := "file"; fd2 := fd1
归档时间:
11 年,2 月 前
查看次数:
500 次
最近记录: