我正在寻找一个小的shell脚本,它会将任何管道传输到它中,然后将其转储到文件中......用于电子邮件调试。 有任何想法吗?
将管道输入转储到文件的简单方法是什么? (Linux)的
What's a simple method to dump pipe input to a file? (Linux)
===============>>#1 票数:24 已采纳
unix命令tee就是这样做的。
man tee
===============>>#2 票数:10
cat > FILENAME
===============>>#3 票数:9
你不是一个人需要类似的东西......事实上,有人在几十年前想要这个功能并开发了三通 :-)
当然,您可以使用>字符将stdout直接重定向到任何shell中的文件:
echo "hello, world!" > the-file.txt
===============>>#4 票数:5
标准的unix工具三通可以做到这一点。 它将输入复制到输出,同时将其记录到文件中。
===============>>#5 票数:2
使用Procmail。 Procmail是你的朋友。 Procmail是出于这种情况而制作的。
===============>>#6 票数:1
如果要在脚本中分析它:
while /bin/true; do
read LINE
echo $LINE > $OUTPUT
done
但你可以简单地使用猫。 如果cat在stdin上得到某些东西,它会将它回显到stdout,所以你必须将它传递给cat> $ OUTPUT。 这些也会这样做。 第二个也适用于二进制数据。
===============>>#7 票数:1
如果你想要一个shell脚本,试试这个:
#!/bin/sh
exec cat >/path/to/file
===============>>#8 票数:1
如果exim或sendmail正在写入管道,那么procmail是一个很好的答案,因为它会给你文件锁定/序列化,你可以把它全部放在同一个文件中。
如果你只想写入文件,那么 - tee> /tmp/log.$$或 - cat> /tmp/log.$$可能就足够了。
===============>>#9 票数:1
使用<<command>> | tee <<file>>
用于将命令<<command>>
到文件<<file>>
<<command>> | tee <<file>>
<<file>>
。
这也将显示输出。
===============>>#10 票数:0
咦? 我猜,我不明白这个问题?
你不能把你的管道结束到>> ~file
例如
echo "Foobar" >> /home/mo/dumpfile
将Foobar附加到dumpfile(并在必要时创建dumpfile)。 不需要shell脚本......这就是你要找的东西吗?
===============>>#11 票数:0
如果你不关心输出结果
cat - > filename
要么
cat > filename
ask by Alex Fort translate from so
未解决问题?本站智能推荐:
1回复
使用Exim中的管道进行邮件路由
我正在寻找向多个目的地发送电子邮件,即一个用户指定的电子邮件地址,另一个用于PHP脚本。 通过网络浏览,我得出结论,我必须在路由器中使用管道并传输我的邮件代理的配置,即我的情况下的Exim。 我尝试但未能在我的Exim配置中嵌入管道传输。 服务器导致管道传输失败。 需要帮助才能解决此问题
2回复
管道编程失败,但在SSH控制台中运行正常
我正在尝试让Rails 4.1接收退回电子邮件,但要达到这一点确实非常困难。 当以root用户身份登录时,我可以在SSH控制台中运行以下命令,但是当我将其放入/ etc / valiases文件时,我会从脚本中看到“以下地址失败”的回弹。
runuser -l useraccount -c
1回复
将文件转发到php-错误127,无法执行或命令不存在?
我正在尝试将所有发送到hi@mydomain.com的电子邮件发送到脚本。 我正在使用exim和一个.forward文件。
这是我的转发文件,位于“ hi”目录中:
进出口过滤器
管道“ /home/web/servers/mydomain.com/htdocs/script
1回复
使用WHM Cpanel更改Exim文件
嗨,我开始在服务台上使用osTicket,并且我能够成功完成Email管道,但是即使创建了工单,用户也会收到:邮件传递失败:正在将邮件返回给发件人。
在osTicket中,它说要更改出厂文档,但是我有WHM,但我不知道如何更改它。 有人可以告诉我如何使用WHM编辑器更改以下内容
1回复
Linux Shell脚本从Exim队列中删除2天的冻结电子邮件
我想将shell脚本放在cron作业下,它将执行以下操作:
1)删除位于Exim队列中的两天旧邮件,这些邮件是退回/冻结邮件,将不会被发送。 脚本不得删除合法的消息,而只是等待其时间传递。
2)删除来自无效发件人(例如null或<>)和/或发送给无效收件人nobody或
3回复
Linux管道作为输入和输出
我想在Linux操作系统上的C程序内执行以下操作:
使用syscall(或2)创建PIPE
使用exec()执行新流程
将流程的STDIN连接到先前创建的管道。
将流程的输出连接到另一个PIPE。
这样做的目的是为了性能目的而避免访问任何驱动器。
5回复
如何在linux上管道输入到sublimetext?
如何从stdin接收文本到sublimetext编辑器? 使用vim它的工作原理如下:
同样适用于gedit,使用内容创建一个新文档。
Sublimetext似乎只是在一个新标签中开始编辑一个名为“ - ”的文件,还有其他一些shell技巧可以使用吗?
4回复
在linux编程中通过管道在进程之间发送链表结构的最佳方法是什么
我尝试在来自同一父级的子进程之间发送链表。 Child1需要在列表中找到第一个素数并将其删除,然后将其倍数发送给Child2。 Child2执行相同操作,它发送到Child3,ChildN执行相同操作并发送到Child1。 但是,我尝试在两者之间发送地址数据而不是所有数字,但这是一种正确的
1回复
Crontab没有管道到文件(LINUX)
cronjob不会将另一个脚本的输出传递给文件,但它可以执行它(不是同一个用户,两个文件的chmod设置为777)。
我希望它将“echo -e 1 \\ n \\ n \\ nq”传递给脚本Menu,然后将输出输出到文件中。 Menu的输出只是文本。
2回复
简单的Linux管道程序,没有收到数据
我有一个简单的Linux C程序,我正在编写,以帮助我更好地理解IPC,现在我正在尝试用管道构建它。 我有一个代码库,我在两个不同的终端窗口中作为两个不同的可执行文件运行(因此它们可以相互通信)。 但是我没有做正确的事情,因为我从来没有得到任何数据可读,但我不确定是什么......