UNIX teeコマンドについて
あるテストプログラムの実行結果をteeコマンドで、ログに追加出力しようとしています
以下の1.変更前の様にシェルスクリプトを作成しました。
このシェルスクリプトを実行するとteeコマンドが正常終了するので $? が常に0になってしまい、必ずOKになってしまいます
急いでいたので2.のように修正したのですが、テンプファイルを使わないでもうちょっとシンプルに作成する方法をご存知の方教えてください
1.変更前
./testpgm | tee -a logfile.txt
if [ $? -eq 0 ] ; then
echo "OK,testpgm," | tee -a logfile.txt
else
echo "NG,testpgm," | tee -a logfile.txt
fi
2.変更後
./testpgm > tempfile.txt
if [ $? -eq 0 ] ; then
cat tempfile.txt>>logfile.txt
cat tempfile.txt
echo "OK,testpgm," | tee -a logfile.txt
else
cat tempfile.txt>>logfile.txt
cat tempfile.txt
echo "NG,testpgm," | tee -a logfile.txt
fi
rm tempfile.txt
OSはAIXで、シェルはshのみ使用可です
お礼
早速のご回答ありがとうございました。なるほど!!