bash shell:重定向标准错误输出
如何重定向标准错误输出到标准输出?如何把标准错误输出输出到一个文件?
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
bash shell:重定向标准错误输出的更多相关文章
- shell将标准错误输出重定向到 其他地方
经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用: /tmp/test.sh > /tmp/test.log >& 前半部分/tmp/test.sh > ...
- Linux的标准输出、标准错误输出、nohup
1.在bash中标准输出可以用1来表示:通常来说这个1可以省略: 如./xxx >/dev/null 和 ./xxx 1>/dev/null 是一个意思 2.在bash中标准错误输出可以用 ...
- shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出
shell脚本中sqlite3命令查询数据库失败返回空,并将错误信息打印到标准错误输出 如: #/bin/sh local ret='sqlite3 test.db "select test ...
- linux将标准输出和标准错误输出都重定向到一个文件?
需求描述: 今天在写crontab,里面有标准输出和错误输出,之前使用的是 > /dev/null 2>&1 那这个意思也就等同于将标准输出和错误输出都输出到/dev/null中, ...
- 将make的输出(标准输出/标准错误输出)重定向到文件
方式 描述符 含义 stdin 0 标准输入 stdout 1 标准输出 stderr 2 标准错误输出 1.想要把make输出的全部信息,输出到某个文件中 最常见的办法就是:make xxx > ...
- linux 重定向 标准错误与标准输出到同一文件
Linux Shell 环境中的输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误. 1.重定向标准输出到文件: cat foo > foo.txt ...
- python 以标准输出(sys.stdout)为例,看python的标准输入、标准错误输出
看了一个博客,挺不错的.http://www.cnblogs.com/turtle-fly/p/3280519.html 标准输出(sys.stdout)对应的操作就是print(打印)了,标准输入( ...
- 7、pytest -- 捕获标准输出和标准错误输出
目录 1. 标准输出/标准错误输出/标准输入的默认捕获行为 2. 修改和去使能捕获行为 2.1. 文件描述符级别的捕获行为(默认) 2.2. sys级别的捕获行为 2.3. 去使能捕获行为 3. 使用 ...
- Pytest权威教程09-捕获标准输出及标准错误输出
目录 捕获标准输出及标准错误输出 默认 stdout/stderr/stdin 捕获行为 设置捕获方法或禁用捕获 调试中使用print语句 在测试用例中使用的捕获的输出 返回: Pytest权威教程 ...
随机推荐
- perl操作sqlserver实现BCP
#!C:\Perl64\bin #由BCP备份和恢复SQLSERVER指定表 use 5.014; #加载用户和password型材 my $username ; my $passwd; ##得到us ...
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)(转)
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的.现在核心业务抽取出来,作为独立的服务,使 ...
- 利用Eclipse中的Maven构建Web项目(三)
利用Eclipse中的Maven构建Web项目 1.将Maven Project转换成动态Web项目,鼠标右键项目,输入"Project Facets" 2.依据Dynamic W ...
- 排序算法门外汉理解-Shell排序
#include <stdio.h> /* 希尔排序 基本思想:希尔排序又称为缩小增量排序,对简单插入排序的优化. (外部分组gap,组内部插入排序! ! ) 特点:一种不稳定的排序 */ ...
- 用正交多项式作最小二乘拟合的java实现(转)
import java.util.Scanner; public class Least_square_fit { public static double Least_square_method(i ...
- HSQLDB相关信息及用法汇总
运行模式 说明 启动命令 JDBC例 内存(Memory-Only)模式 所有数据都在内存里操作.应用程序退出后则数据被销毁.无需另外启动HSQLDB Server 启动方式1:通过程序中首次调用Co ...
- SoC嵌入式软件架构设计II:没有MMU的CPU虚拟内存管理的设计和实现方法
大多数的程序代码是必要的时,它可以被加载到内存中运行.手术后,可直接丢弃或覆盖其它代码. 我们PC然在同一时间大量的应用,地址空间差点儿能够整个线性地址空间(除了部分留给操作系统或者预留它用).能够觉 ...
- 在最完整的搜索提示降史上的用户交互的研究——阅读《An Eye-tracking Study of User Interactions with Query Auto Completion》
搜索下拉提示(Query Auto Completion,简称QAC)如今差点儿是每一个搜索引擎必备的基本功能,作用是在用户在搜索框输入查询词的过程中,给用户展示一系列搜索查询quer ...
- 使用mysqlbinlog工具的基础上及时恢复数据的位置或点
使用mysqlbinlog工具的基础上及时恢复的位置或点 MySQL备份一般采取完全备份的形式加日志备份.让我们运行一个完整备份,每天.每小时运行二进制日志备份. 这样在MySQL Server故障后 ...
- 设置SQLServer数据库中某些表为只读的多种方法
原文:设置SQLServer数据库中某些表为只读的多种方法 翻译自:http://www.mssqltips.com/sqlservertip/2711/different-ways-to-make- ...