我正在使用BASH,但我不知道如何找到子字符串.它一直失败,我有一个字符串(这应该是一个数组吗?)

下面,LIST是数据库名称的字符串列表,SOURCE是回复,这些数据库之一.以下仍然不起作用:

echo "******************************************************************"
echo "*                  DB2 Offline Backup Script                     *"
echo "******************************************************************"
echo "What's the name of of the  database you would like to backup?"
echo "It will be named one in this list:"
echo ""
LIST=`db2 list database directory | grep "Database alias" | awk '{print $4}'`
echo $LIST
echo ""
echo "******************************************************************"
echo -n ">>> "
read -e SOURCE

if expr match "$LIST" "$SOURCE"; then
    echo "match"
    exit -1
else
    echo "no match"
fi
exit -1

我也试过这个,但不起作用:

if [ `expr match "$LIST" '$SOURCE'` ]; then

推荐答案

LIST="some string with a substring you want to match"
SOURCE="substring"
if echo "$LIST" | grep -q "$SOURCE"; then
  echo "matched";
else
  echo "no match";
fi

Linux相关问答推荐

一个bash脚本,用于基于2列映射文件替换多个文件名中的模式

在c++编译期间,什么是linux命令,它给出了链接库的路径?

不带空格的字符串连接形成文件路径

如何从大页分配标准数组内存

8 个半小时范围的 Crontab 表达式

如何为命令的所有选项启用无密码 sudo?

使用具有特定值的字段对文件进行排序

使用 bash 在包含模式的 java 文件中查找行,然后替换该行的另一部分

使用带有 gnome-keyring 的 Git 凭证助手作为 Sudo 时出错

如何在初始化脚本中以特定用户身份运行命令?

Pthread mutex互斥断言错误

php.ini 更改,但在 Ubuntu 上无效

bash shell 脚本函数定义(如f () {})中使用的括号是什么?它与使用function关键字不同吗?

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

在 Linux 上用 C 语言读写串口

Colored shell 脚本输出库

Linux 上真的没有异步块 I/O 吗?

如何使用 bash 在文件中间添加一行文本?

比较文件的日期 bash

如何从 Linux 内核模块的 init_module 代码创建设备 node ?