0

test.sh という名前の次のシェル スクリプトがあるとします。

#!/bin/bash

echo $1 $2

crontab に次のコマンドがあります。

date=`date --date="next day" +"%Y-%m-%d"`
40 12 * * * ~/test.sh 1 $date

届いたメールは以下です。

1 `date

次の日に test.sh がエコーしないのはなぜですか? コマンドラインに $date を渡すと、次のように出力します。

./test.sh 1 $date
1 2013-09-13

なぜ違うのですか? crontab に次の日に test.sh に渡すように指示するにはどうすればよいですか?

4

1 に答える 1

0

Fedora 18で試してみたところ、うまくいきました。

いくつかの代替手段を試すことができます:

date=$(date --date="next day" +"%Y-%m-%d")
40 12 * * * ~/test.sh 1 $date

または

40 12 * * * ~/test.sh 1 `date --date="next day" +"%Y-%m-%d"`

または

40 12 * * * ~/test.sh 1 $(date --date="next day" +"%Y-%m-%d")
于 2013-09-13T16:57:21.877 に答える