开发者社区> 问答> 正文

关于写标准错误输出到文件的问题

如下,使用该命令将 example.sh 的输出打印到屏幕上,同时也会写标准输出到 stdout.out 打印到屏幕。而我还想在此同时,写标准错误输出到名为 error.out 的文件中。

./example.sh | tee ./stdout.out

请问要如何修改这段命令才可以做到上面的要求?

展开
收起
a123456678 2016-06-20 11:57:50 2050 0
1 条回答
写回答
取消 提交回答
  • 如果你不需要输出标准错误的内容到终端的话:

    ./example.sh 2> ./error.out | tee ./stdout.out
    将标准错误重定向到error.out中,标准输出正常显示

    如果还需要输出标准错误的内容:

    ./example.sh > >(tee ./stdout.out) 2> >(tee ./error.out)

    解释:

    和2>就是重定向,前者重定向标准输出,后者重定向标准错误(2是标准错误的文件描述符)
    (...)是创建一个带FIFO(一种进程间通信的方式)的子进程,让这个子进程接收前面的命令的输出。

    2019-07-17 19:44:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载