我想使用bash声明postgres查询的输出。具体而言,我正在编写一个bash作业,该作业对行数进行计数,如果计数不等于零,则会执行某些操作以提高警报速度。
$ psql MY_DATABASE -c "SELECT COUNT(*) WHERE foo=bar"
count
-------
0
(1 row)
在我的脚本中,我想断言上述查询的输出为零。但是我不确定从哪里开始,因为输出的不是数字,而是格式化的多行字符串。
psql中是否有一个选项可以使它在计数时输出一个数字,或者您能想到其他方法吗?
答案 0 :(得分:0)
我建议使用临时文件重定向输出并使用它。完成工作后,删除临时文件。
psql your_database -c "SELECT COUNT(*) as Count from table_a where c1=something" -t >assert.tmp
line=$(head -n 1 assert.tmp)
if [ $line -ge 0 ]; then
echo "greater then 0 and values is--"$line
fi
rm assert.tmp
希望它对您有用。