我一直在嘗試執行下面的UNIX shell腳本不工作。 我正在通過KornShell(ksh)運行它。
echo $?;
if [ $? -ne 0 ]
then
failed $LINENO-2 $5 $6
fi
failed()
{
echo "$0 failed at line number $1";
echo "moving $2 to failed folder"
}
這是給出錯誤說Syntax error:then unexpected.
。基本上我必須檢查上次執行的ksh腳本的最高/最後一個語句的返回碼,如果它不等於零,我必須使用給定參數調用函數失敗。在那之前我曾嘗試過使用分號,但那也沒有奏效。
你能幫忙嗎?
編輯1:基於輸入我改變了代碼。仍存在同樣的問題。
ksh ../prescript/Pre_process $1 $2 $3
rc=$?;
if [[ $rc -ne 0 ]];then
echo "failed";
exit 1;
EDIT2: 這是工作的,然後通過使用雙方括號部分。我覺得我使用bash腳本的代碼來處理ksh。我在失敗的函數調用中遇到問題。請讓我知道在KSH函數調用適當的方式在這個例子中
可以請讓我知道如何使它在korn外殼上工作。 – 2010-08-31 11:33:03
使用雙方括號 – 2010-08-31 11:38:49
感謝它的工作部分,但我面臨着「失敗」函數調用的不同問題。你能告訴我korn shell調用函數的方式嗎 – 2010-08-31 11:55:56