2012-05-07 13 views
0

KSHの場合EXIT信号をトラップする方法とスクリプトの終了コードを取得する方法はありますか?KSH - 終了前のキャプチャスクリプトの戻りコード

以下のテストでは、「リターンコード0でスクリプトを終了する」と表示されます。代わりにexitコマンドのリターンコードから4を出力するようにしたいと思います。

#!/usr/bin/ksh 

trapped_exit() { 
typeset rc=$1 

echo "(LOG SCRIPT EXECUTION & RETURN CODE)" 

echo "About to exit script with return code $rc." 
} 

trap 'APP_RC=$?; trapped_exit $APP_RC' EXIT 

exit 4 

答えて

0

私は自分の関数にexitコマンドのエイリアスを付けることができます。この関数では、前に定義したグローバル変数と比較して、exitコマンドがプロセスIDから呼び出され、子プロセスではないことを確認します。それが私のPIDから来たら、私はクリーンアップコードを実行します。そして最後に、同じargsで実際のexitコマンドを呼び出します。

関連する問題