2005年11月18日
川俣晶の縁側ソフトウェアその他開発日誌 total 2771 count

NT版UNIX-like toolsのxeqで、コマンドの実行が終了していないのにプロンプトが表示される問題

Written By: 川俣 晶連絡先

 NT版UNIX-like toolsのxeqで、コマンドの実行が終了していないのにプロンプトが表示される問題があることが分かりました。

 確認は以下のバージョンで行われています。

現象 §

 たとえば、コマンドプロンプトでxeq echo testリターンと入力します。

 すると、常時ではありませんが、比較的高い確率で、以下のように表示されます。

c:\……>xeq echo test

c:\……>test

 つまり、プロンプトが表示されたあとで、コマンドの実行結果である"test"が出力され、順序が狂っています。

解決 §

 xeqは標準エラー出力をリダイレクトするコマンドですが、Windows NT系のシステムでは、"2>……"の書式で標準エラー出力をリダイレクトできます。従って、xeqは本来NT版UNIX-like toolsに含める必要のないコマンドであり、収録されたことが間違いだと言えます。

 従って、xeqではなく、"2>……"の書式を用いて標準エラー出力をリダイレクトするということを対策としたいと思います。

例:

c:\……>some command 1>標準出力の結果.txt 2>標準エラーの結果.txt

2005年11月18日18時頃追記: xeqには価値があるという指摘を頂いたので、xeqが動くように修正しました。