2012-05-07 74 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命令別名爲我自己的函數。在這個函數中,我將驗證退出命令是從我的進程ID中調用的,而不是通過與之前定義的全局變量進行比較而被子進程調用的。如果它來自我的PID,我將運行我的清理代碼。最後用相同的參數調用真正的退出命令。

相關問題