当前位置: 首页 > 面试题库 >

如何将stderr和stdout重定向到脚本同一行中的不同文件?

南宫泓
2023-03-14
问题内容

我很了解:

$ command 2>> error

$ command 1>> output

有什么方法可以将stderr输出到错误文件,并在bash的同一行中将stdout输出到输出文件?


问题答案:

只需将它们添加到一行中 command 2>> error 1>> output

但是,请注意,>>如果文件已经有数据,则用于追加。而>将覆盖文件中的所有现有数据。

因此,command 2> error 1> output如果您不想附加。

仅出于完成的缘故,您可以编写1>>因为默认文件描述符是输出。所以1>>是同一回事。

因此,command 2> error 1> output成为command 2> error > output



 类似资料:
  • 我想将stdout和stderr重定向到一个文件,同时保留输出顺序,然后还将stderr显示到屏幕上。我看到很多问题讨论它: https://unix.stackexchange.com/questions/9646/show-only-stderr-on-screen-but-write-both-stdout-and-stderr-to-file https://unix.stackexcha

  • 问题内容: 我在cyberciti.biz的评论中看到了这个有趣的问题。 我发现我什至找不到在sh的单行命令中执行此操作的灵活方法。 到目前为止,我对解决方案的想法是: 但是您会看到,这不是同步的,而且致命的是,它是如此丑陋。 欢迎与您分享这个想法。:) 问题答案: 你要 这里的顺序很重要。假设stdin(fd 0),stdout(fd 1)和stderr(fd 2)最初都连接到tty,因此 首先

  • 问题内容: 要将 stdout 重定向到Bash中的截断文件,我知道使用: 为了重定向Bash中的 stdout ,将其附加到文件中,我知道要使用: 要将 stdout 和 stderr 都重定向到截断的文件,我知道使用: 如何将 stdout 和 stderr 都重定向到文件?没有为我工作。 问题答案: Bash执行从左到右的重定向,如下所示: :以追加模式打开并在那里重定向。 :重定向到 “当

  • 问题内容: 我想将子进程的stderr输出重定向到stdout。常量应该这样做,不是吗? 然而, 确实 输出了一些东西。为什么会这样,如何在stdout上得到错误消息? 问题答案: 仔细阅读源代码即可得出答案。特别是,该文档在显示以下内容时会产生误导: 表示(…)的特殊值表示标准错误应与标准输出进入同一 句柄 。 由于在求值时stdout设置为“默认”(技术上来说),因此stderr也设置为“默认

  • 我有一个调用函数的PowerShell脚本。我正在努力实现所有这些,但不确定如何实现: 将标准输出写入控制台并输出。txt 将STDERR写入控制台并输出。txt和err。txt 确保所有STDOUT和STDERR输出仍按其生成的顺序 这就是我到目前为止所拥有的将STDOUT和STDERR写入文件的功能,但它不能完成我需要的其余部分。

  • 我希望能够从子进程中独立读取stdout/stderr(以及我正在介绍的一个新的stdlog),对这些流做一些事情,并以相同的顺序将它们写入屏幕和日志文件。 例如,如果子进程想对stdout说“aa”,然后对stderr说“bb”,然后再对stdout说“cc”,我想在屏幕上看到“aabbcc”。如果我看到“aaccbb”,我可以容忍它(我想这是没办法的),但我肯定不想看到“aacbbc”(用一个