文档页面状态(强调我的)
退出状态
如果 psql 正常完成,则返回 0 给 shell,如果发生了自己的致命错误(例如内存不足,找不到文件),则返回 1,如果与服务器的连接变坏并且会话不是交互式的,则返回2,如果脚本中发生错误并且设置了变量 ON_ERROR_STOP。
但是,我似乎无法诱导退出代码 3。
bash-4.2$ uname -a
Linux mvpg-centos-76.vagrantup.com 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
bash-4.2$ psql --version
psql (PostgreSQL) 10.12
bash-4.2$ psql -v ON_ERROR_STOP=1 -c 'select 1/0;'
ERROR: division by zero
bash-4.2$ echo $?
1
bash-4.2$
我还在 FreeBSD 11.3 和 Darwin 19.3 上重现了这种行为。我是否误解了文档或使用了错误的语法?
让它工作有几种方法:
和:
和: