我正在尝试在 bash 中获取 psql 结果
echo 'SELECT * FROM fictive_table LIMIT 1;' >> /tmp/x.sql
psql --single-transaction -d dbname -f /tmp/x.sql
echo $?
这会失败,但我在 bash 中得到的结果是 0。逻辑/代码有问题吗?
从手册
如果 psql 正常完成,则向 shell 返回 0,如果发生自身的致命错误(内存不足,未找到文件)则返回 1
更新:@Andrea Spadaccini 是对的。这不是致命的。我怎样才能抓住它?