我有一个调用 jar 文件的 bash 脚本,如下所示:
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 文件由于错误的选项而引发异常。