【发布时间】:2018-06-22 14:00:39
【问题描述】:
我想使用 bash 对 postgres 查询的输出进行断言。具体来说,我正在编写一个计算行数的 bash 作业,如果计数不等于 0,则执行一些操作来提高警报。
$ psql MY_DATABASE -c "SELECT COUNT(*) WHERE foo=bar"
count
-------
0
(1 row)
在我的脚本中,我想断言上述查询的输出为零。但是我不确定从哪里开始,因为输出不是数字,而是格式化的多行字符串。
psql中是否有一个选项可以让它在计数时输出一个数字,或者你能想到其他方法吗?
【问题讨论】:
-
试试
psql -qAt。有关详细信息,请参见手册页。 -
@teppic 谢谢,它成功了。你能发布一个答案让我接受吗?我也做了
COUNT=$(psql MY_DATABASE -c "SELECT COUNT(*) WHERE foo=bar" | sed -n 3p | xargs),但你的解决方案更可靠。
标签: bash postgresql psql