我有2个shell脚本。一个像这样的数据连接(script1.sh):
#!/usr/bin/ksh
query="$1"
whenever sqlerror exit 3
connect $user/$pass@sid
${query}
EOF
echo $?
if [ 0 -ne "$?" ]; then
exit 1
fi
和其他是一个更大的shell脚本,我执行这样的sql命令:
#!/usr/bin/ksh
set -x
$PATH/script1.sh "
--set serveroutput on
--set feedback off
insert into table (column) values ('$1');
commit;
"
if [[ $? != 0 ]]
then
echo "Error"
exit 3
else
echo "Ok"
fi
............
..............
问题是这些第二个脚本不会在sql命令中检测到错误,并且始终继续使用所有代码。我放了痕迹,我检查rc总是0。 如果sql失败,你能帮助我检测错误吗?谢谢!