|
@@ -818,7 +818,7 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
</ACTION>
|
|
|
</COMMAND>
|
|
|
|
|
|
-<COMMAND name="pytest" help="Test for Phyton script">
|
|
|
+<COMMAND name="pytest" help="Test for Python script">
|
|
|
<ACTION sym="script">#!/usr/bin/python
|
|
|
import os
|
|
|
print('ENV', os.getenv("KLISH_COMMAND"))
|
|
@@ -1186,12 +1186,62 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
#### Атрибут `restore`
|
|
|
|
|
|
+Предположим текущий путь состоит из нескольких уровней. Т.е. оператор вошел во
|
|
|
+вложеный `VIEW`. Находясь во вложенном `VIEW`, оператору доступны команды не
|
|
|
+только текущего `VIEW`, но и всех родительских. Оператор вводит команду,
|
|
|
+определенную в родительском `VIEW`. Атрибут `restore` определяет, будет ли
|
|
|
+изменен текущий путь перед выполнением команды.
|
|
|
+
|
|
|
+Возможные значения атрибута `restore` - `true` или `false`. По умолчанию
|
|
|
+используется `false`. Это означает, что команда будет выполнена, а текущий путь
|
|
|
+останется прежним. Если `restore="true"`, то перед выполнением команды текущий
|
|
|
+путь будет изменен. Вложенные уровни пути будут сняты до уровня того `VIEW`, в
|
|
|
+котором определена введенная команда.
|
|
|
+
|
|
|
+Атрибут `restore` используется в элементе `COMMAND`.
|
|
|
+
|
|
|
+Поведение с восстановлением "родного" пути команды может быть использовано в
|
|
|
+системе, где режим конфигурирования реализован по принципу маршрутизаторов
|
|
|
+"Cisco". В таком режиме переход в одну секцию конфигурирования возможен не
|
|
|
+выходя заранее из другой - соседней секции. Для этого требуется предварительно
|
|
|
+сменить текущий путь, подняться до уровня вводимой команды, а затем сразу же
|
|
|
+перейти в новую секцию, но уже на основании текущего пути, соответствующего
|
|
|
+команде входа в новую секцию.
|
|
|
+
|
|
|
|
|
|
#### Атрибут `order`
|
|
|
|
|
|
+Атрибут `order` определяет важен ли порядок при вводе объявленных друг за другом
|
|
|
+опциональных параметров. Предположим объявлены три идущих подряд опциональных
|
|
|
+параметра. По умолчанию `order="false"` и это означает, что оператор может
|
|
|
+ввести эти три параметра в произвольном порядке. Скажем, сначала третий, потом
|
|
|
+первый и за ним второй. Если на втором параметре стоит флаг `order="true"`, то
|
|
|
+введя сначала второй параметр, оператор уже не сможет ввести после него первый.
|
|
|
+Ему останется доступен только третий параметр.
|
|
|
+
|
|
|
+Атрибут `order` используется в элементе `PARAM`.
|
|
|
+
|
|
|
|
|
|
#### Атрибут `filter`
|
|
|
|
|
|
+> Внимание: Фильтры пока не работают.
|
|
|
+
|
|
|
+Некоторые команды являются фильтрами. Это означает, что они не могут
|
|
|
+использоваться самостоятельно. Фильтры только обрабатывают вывод других команд.
|
|
|
+Фильтры указываются после основной команды и символа разделителя `|`. Фильтр
|
|
|
+не может быть использован до первого знака `|`. При этом команда, не
|
|
|
+являющаяся фильтром, не может быть использована после символа `|`.
|
|
|
+
|
|
|
+Атрибут `filter` может принимать значения `true` или `false`. По умолчанию
|
|
|
+используется `filter="false"`. Это означает, что команда не является фильтром.
|
|
|
+Если `filter="true"`, то команда объявляется фильтром.
|
|
|
+
|
|
|
+Атрибут `filter` редко используется в конфигах в явном виде. Введен тег `FILTER`,
|
|
|
+который объявляет команду, являющуюся фильтром. Кроме указанных ограничений по
|
|
|
+использованию фильтров, фильтры ничем не отличаются от обычных команд.
|
|
|
+
|
|
|
+Типичным примером фильтра является стандартная утилита "grep".
|
|
|
+
|
|
|
|
|
|
#### Атрибуты `min` и `max`
|
|
|
|