匹配 Bash 中变量中的第一个子字符串
Matching first substring within a variable in Bash
我有 2 个变量 value
和 backup
,具有以下值:
value = 'abc'
backup = urls://string1abc.com, urls://string1cde.com, urls://string1efg.com, urls://string1abc.com
我想检查 backup
变量中逗号前的 first substring
然后 grep for $value
如果匹配则 $test=PASS
在上面的示例中,$backup
在 first
和 last
子字符串中包含 abc
。但是,我只想检查 first substring
即 urls://string1abc.com
我有以下命令,但它会检查 backup
中的所有子字符串
grep -qs $value $backup && test='PASS' || test='FAIL'
您可以使用 parameter expansion:
if [[ ${backup%%,*} = *"$value"* ]]; then
test=pass
else
test=fail
fi
我有 2 个变量 value
和 backup
,具有以下值:
value = 'abc'
backup = urls://string1abc.com, urls://string1cde.com, urls://string1efg.com, urls://string1abc.com
我想检查 backup
变量中逗号前的 first substring
然后 grep for $value
如果匹配则 $test=PASS
在上面的示例中,$backup
在 first
和 last
子字符串中包含 abc
。但是,我只想检查 first substring
即 urls://string1abc.com
我有以下命令,但它会检查 backup
grep -qs $value $backup && test='PASS' || test='FAIL'
您可以使用 parameter expansion:
if [[ ${backup%%,*} = *"$value"* ]]; then
test=pass
else
test=fail
fi