Попытка получить номер версии Symfony в моем скрипте Bash с помощью регулярного выражения

Если вы используете CentOS 7 с systemd -219 (, у которой есть справочная страница systemd.unit(5), соответствующая разделу, указанному в вопросе ), это может быть частично связано с ошибкой документации. Возможно, то же самое относится и к некоторым другим дистрибутивам и версиям systemd.

Это предложение процитировано в комментарии:

If one of the other units gets deactivated or its activation fails, this unit will be deactivated.

подсказал мне, что systemctl start b.serviceвызовет активацию обеих служб, но после того, как a.serviceпотерпит неудачу при возвращении из /bin/false, b.serviceбудет автоматически деактивирован. Так же, как в вопросе говорится, что это не наблюдаемое поведение, я не наблюдал такого поведения в CentOS 7.

Цитируемое предложение было заменено этими предложениями вhttps://www.freedesktop.org/software/systemd/man/systemd.unit.html:

If one of the other units fails to activate, and an ordering dependency After= on the failing unit is set, this unit will not be started. Besides, with or without specifying After=, this unit will be stopped if one of the other units is explicitly stopped.

Обновленная документация согласуется с заявлением @gerard о том, что вам нужна настройка After=в b.service, и соответствует поведению, которое я наблюдал в CentOS 7.

Затем, как говорит @gerard, когда systemd запускает службу Type=simple, она «немедленно продолжит запуск последующих -единиц». Обратите внимание, что Type=forking— не единственный параметр, который можно использовать для решения этой проблемы, вы также можете установить Type=notifyили один из других типов, описанных на справочной странице systemd.service(5)(, кромеType=idle). Когда вы прошли этап тестирования обработки сбоев, убедитесь, что служба действительно ведет себя так, как требуется, учитывая ее Type, например. он вызывает fork(), sd_notify()и т. д.

Также имейте в виду, что существует множество пограничных случаев при обработке сбоев в systemd -219, например.https://github.com/systemd/systemd/issues/8398

0
18.08.2020, 15:40
1 ответ

Во-первых, я думаю, у вас есть ошибка, когда вы не ставите $перед symfonyVersionRaw.

Затем вы должны сопоставить цифры с [0-9]или с [[:digit:]].

Посмотрите здесь:Как сопоставить цифры в регулярном выражении .

0
18.03.2021, 23:11

Теги

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