What's a simple method to dump pipe input to a file? (Linux)我正在寻找一个小的shell脚本,它将所有内容通过管道传递到其中,然后将其转储到文件中。以进行电子邮件调试。 有任何想法吗? Unix命令tee可以做到这一点。
您并不是一个人需要类似的东西...事实上,几十年前有人想要该功能并开发了tee :-) 当然,您可以使用>字符将stdout直接重定向到任何shell中的文件:
标准的UNIX工具tee可以执行此操作。它将输入复制到输出,同时还将其记录到文件中。 使用Procmail。 Procmail是您的朋友。 Procmail就是用于这种事情的。
使用 这也将显示输出。 如果exim或sendmail是写入管道的内容,那么procmail是一个很好的答案,因为它将为您提供文件锁定/序列化,并且您可以将它们全部放入同一文件中。
如果您只想写入文件,则 如果要使用shell脚本,请尝试以下操作:
如果要在脚本中分析它:
但是您可以简单地使用cat。如果cat在stdin上得到了某些东西,它将回显到stdout,因此您必须将其通过管道传递给cat> $ OUTPUT。这些将执行相同的操作。第二个也适用于二进制数据。 如果您不在乎输出结果
要么
??我想,我不明白这个问题吗?
您不能只是将管道终止为 例如
将Foobar附加到转储文件(并在必要时创建转储文件)。不需要shell脚本...那是您要找的东西吗? |