linux - 在 Bash 中匹配变量中的第一个子字符串
问题描述
我有 2 个变量value
并backup
具有以下值:
value = 'abc'
backup = urls://string1abc.com, urls://string1cde.com, urls://string1efg.com, urls://string1abc.com
我想检查变量中的first substring
前逗号backup
,然后 grep for $value
,如果它匹配那么$test=PASS
在上面的示例中,$backup
包含abc
在first
和last
子字符串中。但是,我只想检查first substring
哪个是urls://string1abc.com
我有以下命令,但它会检查其中的所有子字符串backup
grep -qs $value $backup && test='PASS' || test='FAIL'
解决方案
您可以使用参数扩展:
if [[ ${backup%%,*} = *"$value"* ]]; then
test=pass
else
test=fail
fi
推荐阅读
- javascript - JS 弄乱了幻灯片的定位
- python-3.x - Python for循环要求用户输入密码3次
- ruby - 在 gem 更新期间,我收到 /usr/bin 目录的权限错误
- azure-devops - 通过注册表在 NPM 中找不到包
- python - Alembic:有没有办法在数据库中存储头部修订号?
- sharepoint - 如何在子列表中创建项目并从父工作流触发子工作流
- vba - 输入框中的标准函数并显示结果
- php - 在 WP_Query 中按 menu_order 对特定的 Woocommerce 产品变体进行排序
- python - 找不到 pyinstaller 添加数据文件
- database - 表中的每一行都有不同的元数据列