2
退出主shell腳本I'have bash腳本調用一個jar文件是這樣的:從AWK
awk -f fileformat.awk list.txt | while read arg1 arg2 arg3 arg4 arg5; do
java -jar /bin/2dbf.jar arg1 arg2 arg3 arg4 arg5
if [[ ${?} -eq 0 ]]; then
echo "2dbf.jar finished at: `date "+%F %T"`"
echo "---------------------------------------------"
else
echo "exiting..."
exit 10
fi
done
的fileformat.awk
是這樣的:如果符合#
開始也沒有5場退出程序。
{
if (NF == 5 && $1 !~ /#.*/) {
print $0
} else {
print "incorrect file format"
"exit 1"
}
}
我想那是什麼exit 1
在awk
腳本終止整個shell腳本。但實際上它並沒有和jar文件拋出異常,因爲錯誤的選項。
謝謝你,它解決了我的問題。但在awk腳本退出腳本後,'echo $ {?}'顯示0而不是1. – 2012-07-14 06:12:48
@MajidAzimi:這是因爲它在一個管道中。試試'echo「$ {PIPESTATUS [@]}」'。該數組中的元素0是管道第一個成員的退出狀態。 – 2012-07-14 06:17:47