nojimaです。

OOTANI TAKASHI <tksotn@anet.ne.jp> writes:

> >> /tmp/hoge.`date '+\%m\%d-\%H\%M' | sed -e 's/\\//g'` か?ちょっと何だかなぁ。
> >> これはバグなのか仕様なのか。
> >
> >   そりゃ quote すれば、そうなりますね……。
> 
> 先の投稿では、cronで\をはずして欲しいような気がして書きましたが、
> よく考えるとまずいですね。%を含んだコマンドラインより\を含んだ
> コマンドラインのほうが多いでしょうが、cronで\をはずすと、shで直接
> 実行するコマンドラインよりもう一回余分に\をquoteしないといけなくなる。
> Nojimaさんの書かれているようにshellに渡す部分と標準入力に渡す部分で
> 仕様が違うのもうなずけます。

 教えて君になって申し訳ないのですが、マニュアル引っくりかえしても、
サーチエンジンでもわからないのでお聞きします。

 [Q] shで\%を%に自動で解釈する仕様って何故存在するのでしょうか?
     この動作が必要となる理由(cronの振舞い以外で)ってどなたか
     ご存じでしょうか?

> そういうこともあって今回の記事を見るまで%の機能は気づいておらず、
> 最近の機能かと思ったんですが、調べるとversion7の頃にはあったんですね。

自分も全く知りませんでした。ええ。