我有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'

最佳答案

您可以使用parameter expansion

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

关于linux - 在Bash中匹配变量中的第一个子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52191962/

10-11 06:44