【发布时间】:2013-02-02 07:39:54
【问题描述】:
我正在尝试这个非常基本的东西,输出一个随机数:
NUMBER=$[ ( $RANDOM % 500 ) + 1 ]; echo $NUMBER > /tmp/out
它直接在 Debian 的 CLI 上运行良好,但是当我尝试 cron 时,要么按原样:
* * * * * NUMBER=$[ ( $RANDOM % 500 ) + 1 ]; echo $NUMBER > /tmp/out
或者以各种方式作为脚本的一部分,它在我的电子邮件警报中始终失败:
/bin/sh: Syntax error: "(" unexpected
我非常缺乏实践,所以我认为这是显而易见的。我已经尝试了所有我能想到的包围类型组合,但没有运气。我错过了什么?
我收到的完整邮件提醒是:
From: Cron Daemon
Sent: Friday, February 01, 2013 2:41 PM
Subject: Cron <root@host> NUMBER=$[ ( $RANDOM (failed)
/bin/sh: Syntax error: "(" unexpected
【问题讨论】:
-
/bin/sh(cron 的默认 shell)与您正在测试脚本的bash不同。如果你想要 bash,那么将该行保存在一个文件中并让 bash 运行它:* * * * * /bin/bash /home/you/your_file.sh -
谢谢。这在几年前就很明显了。你忘记的事情......
标签: bash cron debian command-line-interface sh