是否存在使用bash的数据库表

时间:2015-05-22 09:43:01

标签: sql bash ingres

如何在bash脚本中判断ingres数据库是否包含特定的表?

我想我想要这样的事情:

sql $db << ENDSQL | grep 'TRUE' > /dev/null
select 'TRUE' from iitables where table_name like '$tablename%'
\p\g
ENDSQL
result=$?

但这总是返回1(未找到)。文字'mytable%'有效,所以我认为这是我引用(或缺少)的内容。

\p打印我的SQL语句,并且$ tablename被扩展,即使它在单引号内,所以不是那样。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

这里的文档语法非常挑剔,请尝试使用 here语句(它同样凌乱):

sql $db <<< "select 'TRUE' from iitables where table_name like '$tablename%'
\p\g" | grep 'TRUE' > /dev/null
result=$?

注意&lt;&lt;&lt;以及双引号的位置。