Проверка Bash, если строка не содержит другую строку

У меня есть строка ${testmystring} в моем .sh- скрипте, и я хочу проверить, не содержит ли эта строка еще одна строка.

    if [[ ${testmystring} doesNotContain *"c0"* ]];then
        # testmystring does not contain c0
    fi 

Как я могу это сделать, т.е. То, что должно делатьNotContain?

+42
источник поделиться
2 ответа

Используйте !=.

if [[ ${testmystring} != *"c0"* ]];then
    # testmystring does not contain c0
fi

См. help [[ для получения дополнительной информации.

+62
источник

Как сказал mainframer, вы можете использовать grep, но я бы использовал статус выхода для тестирования, попробуйте следующее:

#!/bin/bash
# Test if anotherstring is contained in teststring
teststring="put you string here"
anotherstring="string"

echo ${teststring} | grep --quiet "${anotherstring}"
# Exit status 0 means anotherstring was found
# Exit status 1 means anotherstring was not found

if [ $? = 1 ]
then
  echo "$anotherstring was not found"
fi
+6
источник

Посмотрите другие вопросы по метке или Задайте вопрос