Макрос %if делает доступными все инструкции вплоть до директивы %endif, если условие выполняется. Эта конструкция подобна сходным конструкциям в любом скриптовом языке. Например:
%if %{old_5x} |
В этом примере, если макрос %old_5x задан и имеет значение, проверка возвратит true и все команды внутри блока будут выполнены.
%else позволяет задать действия, если тест не успешен. Например:
%if %{old_5x} |
В этом случае, если макрос %old_5x имеет значение, все команды до %else будут выполнены. Если %old_5x не задан, будут выполнены команды от %else до %endif.
И вновь, восклицательный знак используется для инверсии проверки:
%if ! %{old_5x} |
Для вставки в конструкцию логического AND используется &&. Например:
%if %{old_5x} && %{old_6x} |
Далее - Архитектурно-зависимые условия
Назад - Условные макросы
Содержание