Сравнение строк в bash. [[: не найдено

Я пытаюсь сравнить строки в 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 , который вы можете найти во 2-м посте

if [[ $var =~ regexp ]]; then
  #do something
fi

В обоих случаях я получаю сообщение об ошибке:

[[: not found

Что я делаю не так?

138
задан Community 23 May 2017 в 12:10
поделиться