+ -
当前位置:首页 → 问答吧 → [求教]重定向标准错误的问题

[求教]重定向标准错误的问题

时间:2011-04-20

来源:互联网

我想将标准输出和标准错误重定向到同一日志文件中,同时在终端只显示标准错误

举个例子 现在目录下仅有test文件

ls test xxx 执行该命令后,结果为
ls: can not access to xxx:no such file or directory  #标准错误
test #标准输出

ls test xxx > result 2>&1 执行该命令后,标准输出和标准错误全部重定向至result文件,这一步是没问题的,但是我想同时在终端保持显示标准错误ls: can not access to xxx:no such file or directory,不知shell可否实现此功能。

急,还望各位大侠不吝赐教,跪谢。

作者: jq50n   发布时间: 2011-04-20

用tee可以实现标准错误和标准输出同时重定向到文件和终端
但是只重定向标准错误到终端试了半天 没试出方法。。

作者: qinyudd   发布时间: 2011-04-21

帮你顶顶,我有时候也需要。

作者: zooyo   发布时间: 2011-04-21

回复 qinyudd


    tee - read from standard input and write to standard output and files
    只有标准输入

作者: chenbin200818   发布时间: 2011-04-21

回复 chenbin200818


    利用管道+tee 比如 ls test1 test2 2>&1|tee  file
能实现标准输出和错误输出到屏幕和文件 但是好像不能控制单项输出。。

作者: qinyudd   发布时间: 2011-04-21

回复 qinyudd


    我也知道这样可以将 错误输出 等同于 标出输出后再 tee ,但是再分析下去就没有头绪了

作者: chenbin200818   发布时间: 2011-04-21

这样就可以了


ls test xxx 2>>log | tee -a log

作者: chenbin200818   发布时间: 2011-04-21

本帖最后由 qinyudd 于 2011-04-21 02:09 编辑

回复 chenbin200818


    确实可行了
原来不加2>&1 折腾老半天 非常巧妙这个方法 嘿嘿

作者: qinyudd   发布时间: 2011-04-21