Использование подстановочного знака в условии, соответствующем чтению файла.

У меня есть файл с такими шаблонами, как:

      house
car
mous*

Поэтому я хотел бы прочитать файл этих шаблонов, а затем выполнить сравнение, и если сравнение содержит шаблоны, выдает мне такое сообщение:

                    while read -r LineExc; do
                  if [[ "${object}" == "${LineExc}" ]]; then
                     echo "find it"
                     exit 128
                     fi
             done < file.cfg

Но когда в строке шаблона есть подстановочный знак, сравнение не работает. Если у меня есть значение mouseABC, мне не выдается код 128. Помогите, пожалуйста? Спасибо

1 ответ

Чтобы интерпретировать правую часть==Внутри[[ ... ]], не цитируйте это.

      if [[ "${object}" == ${LineExc} ]]; then

На самом деле вам также не обязательно цитировать левую часть, но это не меняет поведения.

Другие вопросы по тегам