bash shell:重定向标准错误输出
2015-01-24 23:29
260 查看
如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件?
Bash提供了I/O重定向工具,有3个缺省的文件(标准输出流):stdin - 用来获取输入,比如键盘、文件重定向
stdout - 输出数据,缺省打印到屏幕
stderr - 输出错误信息,缺省打印到屏幕
理解I/O(标准输入/输出流):
句柄 | 名字 | 描述 |
---|---|---|
0 | stdin | 标准输入 |
1 | stdout | 标准输出 |
2 | stderr | 标准错误输出 |
重定向标准错误输出到文件, 标准输出还是输出到屏幕
[root@ns_10.2.1.242 test]$ cat1 2> error.log [root@ns_10.2.1.242 test]$ cat error.log -bash: cat1: command not found [root@ns_10.2.1.242 test]$ echo 1 2> error.log 1 [root@ns_10.2.1.242 test]$ cat error.log [root@ns_10.2.1.242 test]$
重定向标准错误输出和标准输出到文件
$ command-name &>file or $ command > file-name 2>&1 [root@ns_10.2.1.242 test]$ echo 1 &>error.log [root@ns_10.2.1.242 test]$ cat error.log 1 [root@ns_10.2.1.242 test]$ cat1 &>error.log [root@ns_10.2.1.242 test]$ cat error.log -bash: cat1: command not found
重定向标准输出到标准输入
使用下面的命令:$ command-name 2>&1 #注意下面两个例子的区别 # 第一个命令无法更改标准错误输出的内容, 第二个命令因为把stderr 重定向到stdin, 所以 cat1 被替换成了 test [root@ns_10.2.1.242 test]$ cat1 |sed 's/cat1/test/' -bash: cat1: command not found [root@ns_10.2.1.242 test]$ cat1 2>&1|sed 's/cat1/test/' -bash: test: command not found
相关文章推荐
- Linux Bash Shell高级重定向操作--深入了解标准错误输出和标准输出
- 重定向标准输出错误输出到编辑控件中!
- shell将标准错误输出重定向为标准输出
- Shell标准输出、标准错误 >/dev/null 2>&1
- Shell标准输出、标准错误 >/dev/null 2>&1
- Shell标准输出、标准错误 >/dev/null 2>&1
- shell 错误输出重定向到标准输出
- linux中Shell标准输出错误 >/dev/null 2>&1 分析
- 从Shell脚本内部将所有标准输出及标准错误显示在屏幕并同时写入文件的方法
- shell 标出输入、标准输出、错误输出
- linux下重定向,把标准输出和错误输出一起同定向到文件
- Shell标准输出、标准错误 >/dev/null 2>&1
- Shell标准输出、标准错误 >/dev/null 2>&1
- Shell标准输出、标准错误 >/dev/null 2>&1
- [zz]bash标准输出、错误输出、重定向标准输出2>&1
- shell如何将标准错误输出重定向为标准输出
- bash shell:重定向标准错误输出
- Shell标准输出、标准错误 >/dev/null 2>&1
- linux shell 编程笔记 - shell的输入与输出 -3- 标准输入-标准输出-标准错误