1

コマンドラインで私ができること

cp htlog.out test.$(date '+%m%d%Y')

しかし、次のようにcrontabしようとすると:

37 17 * * 1-5 cd the/dir && cp htlog.out test.$(date "+%m%d%Y")

CRON DAEMON からの次のメッセージで失敗します。

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

そして、コマンドの後にエンドラインがあります。そのcrontabエントリの何が問題になっていますか?

4

1 に答える 1

3

%には特別な意味があるため、バックスラッシュcrontabを付ける必要があります。

37 17 * * 1-5 cd the/dir && cp htlog.out test.$(date "+\%m\%d\%Y")

からman 5 crontab:

バックスラッシュ * () でエスケープされない限り、コマンド内の「%」文字は改行文字に変更され、最初の % の後のすべてのデータが標準入力としてコマンドに送信されます。

于 2012-12-20T23:40:38.753 に答える