1.只重定向错误
STDERR文件描述符2。可以选择只重定向错误消息,将该文件描述符值放在重定向符号前。该值必须紧紧地放在重定向符号前,否则不工作。
复制代码
1
2
3
4$ ls -al badfile 2> errorfile $ cat errorfile ls: cannot access errorfile: No such file or directory
2 利用>分别重定向错误和数据
如果想重定向错误和正常输出,必须用两个重定向符号。需要在符号前面放上待重定向数据所对应的文件描述符,然后指定用于保存数据的输出文件。
复制代码
1
2
3
4
5
6
7
8$ ls -al test test2 test3 badtest 2> test6 1> test7 $ cat test6 ls: cannot access test: No such file or directory ls: cannot access badtest: No such file or directory $ cat test7 -rw-rw-r-- 1 rich rich 158 2014-10-16 11:32 test2 -rw-rw-r-- 1 rich rich 158 2014-10-16 11:32 test3
3 利用符号&重定向错误和数据
可以将STDOUT和STDERR的输出重定向到同一个输入文件中。
复制代码
1
2
3
4
5
6
7$ ls -al test test2 test3 badtest &> test7 $ cat test7 ls: cannot access test: No such file or directory ls: cannot access badtest: No such file or directory -rw-rw-r-- 1 rich rich 158 2014-10-16 11:32 test2 -rw-rw-r-- 1 rich rich 158 2014-10-16 11:32 test3
当使用&>时,命令生成的所有输出都会发送到同一位置,包括数据和位置。你可能已经注意到,错误消息在文件之前。这是因为bash shell自动赋予了错误消息更高的优先级。这样你就能够集中浏览错误信息了。
最后
以上就是懵懂超短裙最近收集整理的关于Linux中关于标准文件描述符的重定向的全部内容,更多相关Linux中关于标准文件描述符内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复