「構文エラー: 引用符で囲まれた文字列が終了していません」は crontab から呼び出した場合のみ発生します

「構文エラー: 引用符で囲まれた文字列が終了していません」は crontab から呼び出した場合のみ発生します

なぜこのエラーが発生するのか

/bin/sh: 1: Syntax error: Unterminated quoted string

これを呼び出すときは/etc/crontab

19 2 * * *   root    for f in $(cat /home/rubo77/list); do date +"%y-%m-%d %T">"$f".datefile; done

リストには既存のディレクトリへのパスのみが含まれており、それらは crontab の最初の行です。

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

forbashのコンソールでコマンドラインを呼び出すとエラーは発生しません

答え1

%標識から逃れる必要がある

関連する質問を参照してください:cron タブジョブ内で `date` を実行するにはどうすればよいですか?

これを使えば修正できます

sed -i 's/%/\\%/g' /etc/crontab

関連情報