我正在开发一个脚本,该脚本又调用其他几个脚本(.ksh)。而且基本上当其中一个失败时,他们不应该进入下一个。所以我尝试在一个涉及bteq
(基本Teradata查询)会话的脚本中检查返回代码。请在下面找到方案:
bteq <<EOF!
.run file ${TGTRUNFILEN} ;
.maxerror 1;
.set width 245;
...
...
sel * from table ;
.if ACTIVITYCOUNT <> 0 then .GOTO QUIT
.os mail command "error msg"
exit 1;
.LABEL QUIT
.quit;
EOF!
echo $rcode
rcode=$?
if [[ $rcode != 0 ]]
then
echo "$0: Insufficient Perm Space : username " >&2
exit 4
fi
在这里,脚本失败,我可以看到日志说失败,返回码为1,但为什么不是文本&#34; $ 0:Perm Space不足:用户名&#34;显示。我认为它退出整个脚本,但我需要以某种方式修复它。 有人可以帮我这个吗?
答案 0 :(得分:0)
嗨非常感谢您的回应。我找到了解决这个问题的方法。我刚刚添加了'set'命令。
set +e
bteq <<EOF!
...
...
EOF!
rcode=$?
set -e
对我来说很好。
干杯