猿丸です。

fj.os.linux,fj.unix.shells の <ullpbidt4.fsf@anet.ne.jp> の記事において
 2003-12-18(木) 01:55頃、tksotn@anet.ne.jpさんは書きました。

> > Linux の crontab は本当に \ でエスケープできないんですか?
> 
> redhat8でやってみましたが、
> \% は改行と見なされないものの \ がそのまま残ってしまうために、
> 出来たファイル名が、hoge.\12\17-\20\20 のようになってしまいますね。
> /tmp/hoge.`date '+\%m\%d-\%H\%M' | sed -e 's/\\//g'` か?ちょっと何だかなぁ。
> これはバグなのか仕様なのか。

  そりゃ quote すれば、そうなりますね……。
  単に /tmp/hoge.`date +\%m\%d-\%H\%M` とすれば shell が \% を %
にしてくれます。
# quote したければ、/tmp/hoge.`eval date +'\%m\%d-\%H\%M'` です
#かね…… :D

  shell script にした方がいいかは、crontab を設定するだけで済む
のをとるか、はまるポイントを少なくするのをとるか、どっちをとるか
によると思います。
--
猿丸芳彦 (Yoshihiko Sarumaru)
mail: mistral@imasy.or.jp       web: http://www.imasy.or.jp/~mistral/