0
私は、端末にcrontabでbashの短いcurcuitが失敗するのはなぜですか?
[ $(/usr/bin/date +"%Y%m%d") -le 20171209 ] && echo aaa >> /tmp/a
を行う場合は、それが動作します。もし私が入っていれば、crontab -e
* * * * * echo aaa >> /tmp/a
である。しかし、私がいる場合crontab -e
* * * * * [ $(/usr/bin/date +"%Y%m%d") -le 20171209 ] && echo aaa >> /tmp/a
何も起こりません。
私が見/var/log/cron
を見てみると
Sep 12 08:36:01 enote CROND[8809]: (root) CMD ([ $(/usr/bin/date +")
質問
誰もが問題が何であるかを説明できますか?
ほとんどのcronの使用のバリエーション '/ binに/ sh'、ない' bash'(あなたのcrontabを呼び出すことができますをエスケープする必要がありますbashスクリプトですが、crontab自体のbash機能に依存するべきではありません)。 –
@ThomasDickeyターミナルで最初に 'sh'してから' $(/ usr/bin/date + "%Y%m%d")-le 20171209] && echo aaa'を実行すると動作しますので、それはsh/bashの問題だと思う。 –