我正在使用以下命令加载导出的数据库:
psql -c 'drop database database1'
psql -c 'create database database1'
psql database1 < script.sql
现在,我正在尝试检查最终命令是否成功:
if [[ $? -eq 0 ]]; then
echo "OK."
else
echo "Not OK."
fi
此总是输出“ OK”。即使script.sql
出现错误,退出代码也始终为0:
psql database1 < script.sql
ERROR: constraint "test_id" for relation "test" already exists
echo $?
0
如何确认sql导入成功?
答案 0 :(得分:1)
您可以检查命令是否抛出如下错误:
psql database1 < script.sql || echo 'error occurred'
双管道||
的意思是“做左边部分,如果有错误,做右边部分”。
希望有帮助!