在Bash中匹配变量中的第一个子字符串

时间:2018-09-05 19:11:25

标签: linux bash sed grep rhel

我有2个变量valuebackup,其值如下:

value = 'abc'

backup = urls://string1abc.com, urls://string1cde.com, urls://string1efg.com, urls://string1abc.com

我想检查first substring变量中逗号前的backup,然后检查$value的grep,如果匹配则$test=PASS

在上面的示例中,$backupabcfirst子字符串中包含last。但是,我只想检查first substring

urls://string1abc.com

我有以下命令,但它检查backup内的所有子字符串

grep -qs $value $backup && test='PASS' || test='FAIL'

1 个答案:

答案 0 :(得分:2)

您可以使用parameter expansion

if [[ ${backup%%,*} = *"$value"* ]]; then 
    test=pass
else
    test=fail
fi