我使用psql命令连接并在postgreSQL数据库上发出查询.任何人都可以告诉我如何检查shell脚本中执行的查询的返回状态.
我用echo $?
命令来检查状态,但它总是返回零.
谢谢您的帮助.
Dan*_*ité 37
psql
返回代码记录为:
退出状态
PSQL返回0到外壳是否正常完成,1如果发生了自己的致命错误(如内存不足,未找到文件),2,如果到服务器的连接失效而且会话没有互动性, 3如果脚本中发生错误并且设置了变量ON_ERROR_STOP.
您可能只想使用ON_ERROR_STOP.
未通过测试并报告给shell:
$ psql -d test -v "ON_ERROR_STOP=1" <<EOF
select error;
select 'OK';
EOF
ERROR: column "error" does not exist
LINE 1: select error;
$ echo $?
3
Run Code Online (Sandbox Code Playgroud)
失败被忽略而没有报告给shell:
$ psql -d test <<EOF
select error;
select 'OK';
EOF
ERROR: column "error" does not exist
LINE 1: select error;
^
?column?
----------
OK
(1 row)
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12234 次 |
最近记录: |