cronの数学式を評価します。

cronの数学式を評価します。

曜日のパリティに応じてファイル名を指定したい。端末では、以下が機能します。$(($(date +\%u)%2))

しかし、これはcronでは機能しません(数学式の評価が機能しないようです)。

cronでどのように機能させることができますか?

ベストアンサー1

他のパーセント記号ではなく、1パーセント記号をエスケープしました。

$(($(date +\%u)%2))
               ^
              HERE

みんなcrontabエントリのパーセント記号は、%が特別な意味を持つため、エスケープする必要があります。 crontab(5) マンページ引用:

行の完全なコマンド部分(改行または%文字まで)は、/ bin / shまたはcrontabファイルのSHELL変数で指定されたシェルによって実行されます。バックスラッシュ()でエスケープしない限り、コマンドのパーセント記号(%)は改行文字に変更され、最初の%以降のすべてのデータは標準入力としてコマンドに送信されます。

もちろん、この段落の表現をよりよく書いたかもしれません。

したがって、次のようにする必要があります。

$(($(date +\%u)\%2))

おすすめ記事