【问题标题】:Redirect to /dev/null AND file?重定向到 /dev/null AND 文件?
【发布时间】:2013-12-03 03:32:43
【问题描述】:

我在 crontab 教程中看到了这样一行:

command 1>/dev/null 2>&1 | mail -s (...)

只是好奇,是否有任何理由将命令的结果转储到/dev/null,然后转储到stderr 并通过管道传输到邮件?看来1>/dev/null 是多余的。

【问题讨论】:

  • 其他方式。 stdout (1) 被转储为 null,然后 stderr (2) 被重定向到 1,这意味着无论如何都应该没有任何东西可以邮寄
  • stdout 和 stderr 都被发送到 /dev/null。我怀疑有人不知道自己在做什么,将邮件命令添加到末尾以尝试解决问题
  • @Marc B:我应该补充一点,运行它实际上会通过电子邮件发送输出。通过电子邮件,我同时收到stdoutstderr 流。
  • @StevenMorad:您可能会收到一封空邮件,但是这不可能从该命令发送任何内容,因为 stdout/stderr 被转储为 null。
  • @MarcB 试试echo "foobar" 1>/dev/null 2>&1 | tee supposedly_empty

标签: linux unix cron


【解决方案1】:

http://ss64.com/bash/tee.html

...尝试使用tee,它可以重定向到多个输出。例如:

 ls -al | tee out.txt

... 将 'ls 的输出重定向到 out.txt,而它仍然打印在 stdout 中。

【讨论】:

  • 是的,但是将输出定向到/dev/nullfoo 是没有意义的;你不妨直接输出到foo(不管foo是什么)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-04
  • 2017-11-29
  • 2017-02-04
  • 1970-01-01
  • 2019-10-11
  • 2018-05-10
相关资源
最近更新 更多