Я пытаюсь сравнить строки в Bash. Я уже нашел ответ о том, как это сделать на stackoverflow . В сценарии я пытаюсь, я использую код, представленный Адамом в упомянутом вопросе:
#!/bin/bash
string='My string';
if [[ "$string" == *My* ]]
then
echo "It's there!";
fi
needle='y s'
if [[ "$string" == *"$needle"* ]]; then
echo "haystack '$string' contains needle '$needle'"
fi
Я также попробовал подход из ubuntuforums, который вы можете найти во втором посте
if [[ $var =~ regexp ]]; then
#do something
fi
В обоих случаях я получаю сообщение об ошибке:
[[: not found
Что я делаю не так?
/bin/bash --version
печатает?
[
не будет работать в этом случае, потому что он не поддерживает шаблоны.