Crontab/Perl 管道魔术[重复]

Posted

技术标签:

【中文标题】Crontab/Perl 管道魔术[重复]【英文标题】:Crontab/Perl piping magic [duplicate] 【发布时间】:2012-11-30 15:48:54 【问题描述】:

可能重复:In the bash shell, what is “ 2>&1 ”?

我最近在 crontab 中看到了这个:

5 * * * * perl /abs/path/to/my/script.pl >> /abs/path/two/my/script-log.txt 2>&1

如果我没看错,它会在每小时 5 分钟后运行 script.pl(如 2:05、3:05、10:05 等)。同样,如果我是正确的,它会将标准输出重定向到位于其他地方的日志文件。

但是 crontab 末尾的这个 Linux/Perl voo-doo 是什么?

2>&1

这是在指示 Linux/Perl 做什么?如果我对 crontab 的上述解释不正确,请也为我澄清!提前致谢!

【问题讨论】:

【参考方案1】:

将文件描述符 2 (stderr) 重定向到 1;这是告诉 /bin/sh stderr 应该和 stdout 放在同一个地方的惯用方式

【讨论】:

【参考方案2】:

将文件描述符 2 (STDERR) 与文件描述符 1 (STDOUT) 关联起来是 bourne shell 语法,实际上是将 STDERR 发送到 /abs/path/two/my/script-log.txt

【讨论】:

以上是关于Crontab/Perl 管道魔术[重复]的主要内容,如果未能解决你的问题,请参考以下文章

了解 PHP 中的魔术方法 [重复]

Cron 2特定时间[重复]

Laravel 中的 Cron 作业 [重复]

如何运行 rake 任务,未使用 cron [重复]

在 Windows 服务器上运行“cron”作业 [重复]

每天美国东部标准时间下午 5 点运行 cron 脚本 [重复]