当psql在执行SQL脚本时抛出错误,可以通过以下方式退出shell脚本:
psql -U username -d dbname -f script.sql
if [ $? -ne 0 ]; then
echo "psql执行出错,退出脚本"
exit 1
fi
在上述代码中,$?
是一个特殊变量,用于获取上一个命令的退出状态。如果psql命令执行成功,其退出状态为0;如果执行出错,退出状态非零。通过判断退出状态,可以决定是否退出脚本。
trap "echo 'psql执行出错,退出脚本'; exit 1" ERR
psql -U username -d dbname -f script.sql
在上述代码中,使用trap命令将错误信号(ERR)与一个处理函数关联起来。当psql执行出错时,会触发错误信号,进而执行处理函数中的代码,其中包括退出脚本的操作。
以上是两种常见的处理方式,可以根据具体需求选择适合的方法来退出shell脚本。
领取专属 10元无门槛券
手把手带您无忧上云