数据库 table 是否存在,使用 bash
Does a database table exist, using bash
如何在 bash 脚本中判断 ingres 数据库是否包含特定的 table?
我想我想要这样的东西:
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 被扩展,即使它在单引号内,所以不是那样。
感谢任何建议。
这里的文档语法很挑剔,试试这里的语句(同样凌乱):
sql $db <<< "select 'TRUE' from iitables where table_name like '$tablename%'
\p\g" | grep 'TRUE' > /dev/null
result=$?
注意 <<< 和双引号的位置。
如何在 bash 脚本中判断 ingres 数据库是否包含特定的 table?
我想我想要这样的东西:
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 被扩展,即使它在单引号内,所以不是那样。
感谢任何建议。
这里的文档语法很挑剔,试试这里的语句(同样凌乱):
sql $db <<< "select 'TRUE' from iitables where table_name like '$tablename%'
\p\g" | grep 'TRUE' > /dev/null
result=$?
注意 <<< 和双引号的位置。