Соответствие первой подстроки в переменной в Bash - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть 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'

1 Ответ

0 голосов
/ 05 сентября 2018

Вы можете использовать расширение параметра :

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