id:otn:20041216 で、「(echo)の空白付加の謎」を書いたが、echo を括弧で囲んだ上にパイプで使うケースがあるのかという問題。例えば、TCP.EXE を使ってメールのチェックをするケース。
TCP.EXEは、"Mule for Win32" のバイナリパッケージに入っている。バッチ版のtelnetといったところ。 http://www.vector.co.jp/soft/win95/writing/se021927.html
(ping localhost >NUL echo USER popuser echo PASS himitsu echo LIST echo QUIT) | tcp pop.example.ne.jp 110 >POP.log
最初のpingはちょっと待つための時間つぶし。2行目以降のechoの各行の行末に空白が付いてしまう。まあ、このケースでは行末の空白は問題にはならないが。
括弧を使うつまり複数行のパイプが必要で、出力の行末空白が問題になるケースは今のところ思いつかない。
余談:tcp.exe を使って nntp (NetNews) の新着記事チェックを行うバッチスクリプトも作って使っている。欲しい人いますか。