• ベストアンサー

shell の time コマンドの結果をファイルに出力する方法(AIX)

AIX4.3 の環境でプログラムのパフォーマンスを確認しようと思っています。「time XXXXX 2> perform.log」で標準エラー出力をファイルに書き出そうとしているのですがうまくいきません。time コマンドのパフォーマンス結果は標準エラー出力に書き出されると思うのですが、リダイレクトしたファイルは何も書かれていません。画面にtime コマンドの結果が表示されるだけです。time コマンドではなく通常のエラーは標準エラー出力からファイルに書き出すことはできます。原因がわからずこまっています。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

 お使いのシェルの仕様にもよると思いますが、 (time XXXX) 2> perform.log でどうでしょうか?  手元の cygwin の bash ではうまく行きました。  time の出力は、コマンドではなくシェル自身の出力なので、() で括ってやらないとリダイレクトできないものと思われます。

osiete2345
質問者

お礼

ありがとうございます。回答いただいたやりかたでうまくいきました。あと、 /bin/ksh/time 2> xxxx.log でもうまくいきました。/bin/kshはパスとして設定されているのですが、time と /bin/ksh/time では動きが少し違うようです。不思議に思っていました。ともかく解決しました。ありがとうございます。

その他の回答 (1)

回答No.2

あなたがお使いのSHELLによって動作が変わりますが、 % (time XXXXX) 2> perform.log としてみてはどうでしょうか?

関連するQ&A