微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将Shell脚本的存储过程抛出异常返回给调用者

如何解决将Shell脚本的存储过程抛出异常返回给调用者

我有一个Shell脚本A,它调用Shell脚本B,该脚本在其中的Isql调用存储过程。 Shell脚本B的存储过程中的异常必须扔回到原始Shell脚本A。任何想法如何做到这一点?

解决方法

@narasimhakulkami:在POSIX shell脚本中,抛出异常是什么意思?除了将kill用于一些可能被接收过程捕获的合适信号之外,没有可用的异常机制。

您可以请求异常捕获过程在环境变量中提供其自己的PID,然后对该PID进行kill,但是您当然不能使用此信号传达任何其他信息(例如确切的异常消息),无论如何这将是一个糟糕的设计。

,

这是解决方案:

iSQL > $output_file
status='cat $output_file'
if [$status== "Login Failed"]; then
echo "Login Failed error"
elif  [$status== "Permission Denied"]; then
echo "Permission Denied error"
else [$status== "Connection error"]; then
echo "Connection Denied Error"
fi

 Or

$status='grep "permission denied" $tmp.txt | sed 'g/ /d' | cut -d":" -f2'
echo $status

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。