Как правильно сделать службу, сообщающую systemd, что она настроена?

Мне кажется, что это описаниеset -e:

The shell does not exit if the command that fails is... part of any command executed in a && or || list

вольно интерпретирует «часть списка &&» как включение каждой команды в вызов функции. В результате даже простая неудачная команда внутри функции не вызывает ловушку ERR --, когда она вызывается в цепочке &&.

Если вам нужно остановить выполнение команд функции при сбое одной из них, можно объединить их все в цепочку в блоке:

first-step-fails() {
    { 
      true &&
      false &&
      true;
    } || exit 1

    echo "A is executed.";
}

first-step-fails && echo "B is executed.";

... приводит к отсутствию вывода и возврату -кода 1.

0
10.03.2021, 12:42
0 ответов

Теги

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