使用 bash 脚本如何检查一个字符串是否在另一个字符串内

使用 bash 脚本如何检查一个字符串是否在另一个字符串内

我正在使用 bash 脚本来执行psql(数据库)命令:

该命令返回包含或不包含数据库/表名称的答案。

如何检查我的数据库/表是否在返回的答案中?伪:

VAR_EXIST=$(command)
if $DATABASE_NAME in VAR_EXIST then
 VAR_EXIST= true

答案1

答案取自: https://stackoverflow.com/q/229551/1540660

string='a needle in a haystack'
if [[ $string = *"a needle"* ]]; then
  echo "It's there!"
fi

注意,针字符串中的空格需要放在双引号之间,并且 * 通配符应该放在外面。

适合您的情况:

VAR_EXIST=$(command)
if [[ $VAR_EXIST = *"$DATABASE_NAME"* ]]; then
  echo "DB exists!"
fi

相关内容