Zazelです。
=== 藤岡和夫 <kazuf@...> さんが書かれた
=== <20060306202239.F9D9.KAZUF@...> にて
> > gawk "BEGIN{print \"%"PATH%\"}
>
> これがなぜ動くのか、解説をお願いします(^^;)
明確に仕様が書かれた文章は知りませんが、環境変数の展開をしてから
「"」を削除しつつ「\"」を「"」に替えて引数分解していると思います。
http://www.microsoft.com/resources/documentation/WindowsServ/2003/enterprise/proddocs/ja-jp/Default.asp?url=/resources/documentation/WindowsServ/2003/enterprise/proddocs/ja-jp/ntcmds_shelloverview.asp
http://www.microsoft.com/resources/documentation/WindowsServ/2003/enterprise/proddocs/ja-jp/Default.asp?url=/resources/documentation/WindowsServ/2003/enterprise/proddocs/ja-jp/cmd.asp
ここにもあまり書いてない。
ただ、置換規則はそう単純ではないようです。
gawk "BEGIN{print "^"abc\"}
は動くのに、
gawk "BEGIN{print "^"abc^"}
は動かない。ペアになっていない二重引用符の扱いとかいろいろ。
また「^^」などを二重引用符と同時に処理してるかはわかりません。
echo での挙動をみていると、二重引用符より前らしいですがね。
(* SEKI Masatoshi // Zazel *)
(* Would you hold my hand? Softly, let's linger. *)