2012-06-23 10 views
8

私は、これは 『通常』のエラーであることがわかります「``マッチングを探しているときにエラー予期しないEOFを作成しますが、私の場合は解決策を見つけることができません。実行するcronジョブがでcrontabジョブを実行</p> <p>...

expr `date +%W` % 2 > /dev/null && curl https://mysite.com/myscript 

それはエラーが発生します

/bin/sh: -c: line 0: unexpected EOF while looking for matching ``' 
/bin/sh: -c: line 1: syntax error: unexpected end of file 

は、あなたがそれらを回避する方法私を助けることができますか?事前にどうもありがとうございました!

答えて

14

%文字をエスケープする必要があります。 man 5 crontabは言う:

Percent-signs (%) in the command, unless escaped with backslash (\), 
    will be changed into newline characters, and all data after the first % 
    will be sent to the command as standard input. 
+2

知識のこの小さな作品は非常に私を助けました。私は 'date +%Y-%m-%d_%H-%M-%S'がスクリプトでは完全に動作したが、(daisy chained crontab)コマンドラインではうまく動作しなかったのかどうかは分からなかった。ダニエルありがとう! – Vacilando

1

%を脱出し、date -commandをencoseするためにバッククォートを使用しないでくださいしてください。 $()とそれを囲んでください:

expr $(date +\%W) % 2 > /dev/null && curl https://mysite.com/myscript 

OR

expr $(date +\%W % 2) > /dev/null && curl https://mysite.com/myscript 
関連する問題