Использование подстановочного знака в условии, соответствующем чтению файла.
У меня есть файл с такими шаблонами, как:
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
На самом деле вам также не обязательно цитировать левую часть, но это не меняет поведения.