【问题标题】:Discarding all output from cron job丢弃 cron 作业的所有输出
【发布时间】:2013-02-14 03:38:17
【问题描述】:

在创建 cron 作业时,我总是这样写:

15 0 * * * /somepath/somescript.pl > /dev/null 2>&1

关于末尾的位 "> /dev/null 2>&1" 丢弃所有标准错误和标准输出,多年来我一直看到许多不同的专业人士这样写,其中大多数人都知道 linux a比我好很多。今天我发现可以更简单地写成:

15 0 * * * /somepath/somescript.pl &>/dev/null

这使得它的可读性稍微降低。有什么理由不常用第二个吗?有什么缺点吗?我们主要使用 Red Hat Enterprise Linux 5。

谢谢, 迈克尔

【问题讨论】:

    标签: linux cron redhat


    【解决方案1】:

    两者都很好,我知道的唯一区别是你不能用第二种方法覆盖文件。

    15 0 * * * /somepath/somescript.pl >> /dev/null 2>&1
    

    会起作用

    15 0 * * * /somepath/somescript.pl &>>/dev/null
    

    不适用于 Bash pre version 4

    【讨论】:

    • 感谢您的回复。有趣的是,我使用的是旧版本,它确实可以工作/bin/bash --version GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc.
    • 强调它对我不起作用..:-bash: 意外令牌附近的语法错误 `>' GNU bash,版本 3.2.25(1)-release (x86_64-redhat-linux-gnu ) 但它在:GNU bash,版本 4.2.39(1)-release (x86_64-redhat-linux-gnu)
    猜你喜欢
    • 2021-08-09
    • 2010-09-13
    • 2013-02-03
    • 2013-02-05
    • 2012-12-18
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多