У меня проблема с оператором if в моем сценарии bash. Цель: мне нужно проверить значение clustered
, но поскольку это не уникальное имя, я решил попробовать совместить целую строку. Например, чтобы найти, является ли clustered
истинным/ложным здесь, if
ищет всю «соседнюю» строку.Если утверждение соответствует строке, содержащей двойные котировки
Проблема: в то время как инструкция if
ниже работает нормально для некоторых строк, она фактически не работает со значениями ниже. Я подозреваю, что это из-за двойных котировок вокруг "false"
.
Можно ли изменить этот if
, чтобы он работал (т. Е. Принимал дополнительные двойные кавычки)?
Мой Баш:
if grep -Fxq "<cache clustered="false" " confg.xml
then
echo "Correct value"
# code if found
else
echo "Incorrect value"
# code if not found
fi
Спасибо,
Используйте одинарные кавычки вокруг регулярного выражения. – jordanm