【问题标题】:Is there any console output type other than stdout and stderr?除了 stdout 和 stderr 之外,还有其他控制台输出类型吗?
【发布时间】:2015-12-12 09:49:22
【问题描述】:

我在命令行 (unix/linux) 中运行一个程序。但我需要将结果放入文件中。所以我用了。

program_name >> result.txt

但它没有向文件提供任何内容。然后我试了一下。

program_name 2>> result.txt

然后我得到了一部分结果,它是STD:ERR 的一部分。 但仍有一些数据显示在控制台窗口上。是否有可能将该数据写入文件?

更新: 我也试过了

program_name >> result.txt 2&>1

我得到了除了两行之外的所有数据。为什么我错过了?

【问题讨论】:

  • 这个问题不同。 'command > file 2>&1' 也不起作用。但是在执行命令之前'script outfilename.txt'会显示完整的输出

标签: unix redirect stdout stderr


【解决方案1】:

您可以将 stdout 发送到文件,然后将 stderr 重定向到同一流 (&1),如下所示:

program_name >>result.txt 2>&1

【讨论】:

  • 你的意思是一些数据仍然发送到控制台?
  • 不,这次控制台中没有显示任何内容。但是文件中缺少数据。但是当它没有被重定向到文件时,我可以在控制台中看到丢失的数据部分
  • 另一个更新是:当我在执行命令之前使用'script oufilename.txt'时,我可以看到完整的数据
  • 可能程序将输出直接发送到控制台设备/dev/tty,从而绕过了正常的shell输出流。
  • 好的。那我怎样才能把它放到某个文件中呢?我是初学者
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-20
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
相关资源
最近更新 更多