【发布时间】: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:我应该补充一点,运行它实际上会通过电子邮件发送输出。通过电子邮件,我同时收到
stdout和stderr流。 -
@StevenMorad:您可能会收到一封空邮件,但是这不可能从该命令发送任何内容,因为 stdout/stderr 被转储为 null。
-
@MarcB 试试
echo "foobar" 1>/dev/null 2>&1 | tee supposedly_empty