CentOS определяет одинаковую дату и часовой пояс для системы и MySQL.

В этом случае строка в $paramбудет интерпретироваться как регулярное выражение. Это выражение содержит $, который привязывает параметр ambari_parameterв шаблоне к концу совпадения. Поскольку ambari_parameter$во входных данных не содержит ambari_parameterв самом конце (из-за $в конце строки), он не будет совпадение.

Вы можете просто экранировать $как \$в шаблоне ( \\$в строке с двойными кавычками) или поместить $в группе, заключенной в квадратные скобки, как [$], но, поскольку вы, кажется, хотите выполнить совпадение строки, а не соответствие регулярному выражению, может быть более подходящим использовать -F:

echo 'ambari_parameter$' | grep -F -e "$param"

Использование grep -Fзаставляет grepобрабатывать данный шаблон как строку, а не как регулярное выражение. Таким образом, каждый символ в шаблоне будет совпадать буквально, даже $в конце.

Я также использовал здесь -e, чтобы заставить grepраспознавать следующий аргумент как шаблон. Это необходимо, если $paramначинается с тире ( -). Обычно хорошо использовать -eвсякий раз, когда шаблон, с которым вы сопоставляетесь, задан в переменной.

Чтобы еще больше потребовать, чтобы целая строка ввода соответствовала полной строке, добавьте -x:

echo 'ambari_parameter$' | grep -xF -e "$param"

Если $paramравно ambari_parameter$ , то это не будет соответствовать строке _ambari_parameter$или ambari_parameter$100(но будет соответствовать , если -xне указано ).

0
02.05.2019, 13:41
1 ответ

Я ненавижу удалять старые посты, но это единственное подходящее место для публикации этой информации. В CentOS 7 установка MariaDB 10 по умолчанию (с использованием стандартных rpm CentOS )имеет неправильное расположение файлов часовых поясов. У нас были проблемы с приложениями, которые зависят от MySQL для получения информации о часовом поясе. Независимо от того, какие настройки мы использовали в приложениях, они всегда возвращали время часового пояса UTC.

Это:

mysql_tzinfo_to_sql /usr/share/zoneinfo/right |mysql -u root mysql -p

Немедленно исправил проблему. Нет необходимости в перезагрузке! Я очистил кеш и т. д. для хорошей меры...

1
28.01.2020, 02:27

Теги

Похожие вопросы