http://www.webdesignerdepot.com/rss.htm
我有同样的问题。这个命令:
./ somescript.sh> ../log/scriptlog.log
要求输出命令转到标准输出。但在剧本里面
命令| mailx -s“Subject”recipient@somedomain.tld
我想做的是:
命令| tee> / dev / stdout | mailx -s“Subject”recipient@somedomain.tld
命令的输出转到stdout(重定向到..log / scriptlog.log文件)
以及mailx命令的stdin。
有什么办法吗?
答案 0 :(得分:1)
tee
已经发送到stdout。
... | tee -a log/scriptlog.log | ...
答案 1 :(得分:1)
exec 3>&1
command | tee /dev/fd/3 | mailx ...
或使用流程替换:
command | tee >(mailx ...)
答案 2 :(得分:0)
我会尝试进行替换。为了澄清,我有一个cron'd shell脚本。 cron条目类似于: /usr/script/myscript.sh> /usr/log/myscript.log
脚本内的是一行类似于: 命令| mailx -s“主题”收件人
由于来自'command'的stdout被传递到mailx命令,它确实出现在日志文件'myscript.log'中,但我想要它。
我尝试将其捕获到一个变量中,但换行似乎是丢失的。我可以使用临时文件,但我希望有更优雅的东西。