|
@@ -591,12 +591,62 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
|
|
|
#### Атрибут `interactive`
|
|
#### Атрибут `interactive`
|
|
|
|
|
|
|
|
+Атрибут определяет является ли действие интерактивным. Например запуск текстового
|
|
|
|
+редактора является интерактивным, т.к. при работе в редакторе,
|
|
|
|
+действия пользователя влияют на результат и должны поступать от программы клиента
|
|
|
|
+к серверу. Также и изменения со стороны редактора должны немедленно отображаться
|
|
|
|
+у оператора.
|
|
|
|
+
|
|
|
|
+Возможные значения атрибута - `true` и `false`. По умолчанию `false`, т.е.
|
|
|
|
+действие не является интерактивным.
|
|
|
|
+
|
|
|
|
+Если действие объявлено интерактивным, то при его выполнении создается
|
|
|
|
+псевдо-терминал для обмена с пользователем. Не рекомендуется выставлять флаг
|
|
|
|
+интерактивности для не-интерактивных действий.
|
|
|
|
+
|
|
|
|
|
|
#### Атрибут `parmanent`
|
|
#### Атрибут `parmanent`
|
|
|
|
|
|
|
|
+Система klish может быть запущена в режиме "dry-run", когда все действия не
|
|
|
|
+будут в реальности выполняться, а их код возврата всегда будет иметь значение
|
|
|
|
+"успех". Такой режим может использоваться для тестирования, для проверки
|
|
|
|
+корректности входящих данных и т.д.
|
|
|
|
+
|
|
|
|
+Однако некоторые символы должны исполняться всегда, независимо от режима.
|
|
|
|
+Примером такого символа может выступать функция навигации. Т.е. менять
|
|
|
|
+текущий путь сессии нужно всегда, в независимости от режима работы.
|
|
|
|
+
|
|
|
|
+Флаг `permanent` может менять поведение действия в режиме "dry-run".
|
|
|
|
+Возможные значения атрибута - `true` и `false`. По умолчанию `false`, т.е.
|
|
|
|
+действие не является "постоянным" и будет отключено в режиме "dry-run".
|
|
|
|
+
|
|
|
|
+Символы, при объявлении их в плугине, уже имеют признак постоянства. Символ
|
|
|
|
+может быть принудительно объявлен постоянным, принудительно объявлен
|
|
|
|
+непостоянным, либо плугин может отдать решение о постоянстве на откуп
|
|
|
|
+пользователю. Если флаг постоянства объявлен принудительно в плугине, то
|
|
|
|
+настройка атрибута `permanent` не будет влиять ни на что. Она не может
|
|
|
|
+переопределить флаг постоянства, принудительно определенный внутри плугина.
|
|
|
|
+
|
|
|
|
|
|
#### Атрибут `sync`
|
|
#### Атрибут `sync`
|
|
|
|
|
|
|
|
+Символ может выполняться "синхронно" или "асинхронно". В синхронном режиме код
|
|
|
|
+символа будет запущен прямо в контексте текущего процесса - сервера klishd. В
|
|
|
|
+асинхронном режиме для запуска кода символа будет порожден (fork()) отдельный
|
|
|
|
+процесс. Запуск символа в асинхронном режиме является более безопасным, так как
|
|
|
|
+ошибки в коде не повлияют на процесс klishd. Рекомендуется использовать
|
|
|
|
+асинхронный режим.
|
|
|
|
+
|
|
|
|
+Возможные значения атрибута - `true` и `false`. По умолчанию `false`, т.е.
|
|
|
|
+символ будет выполняться асинхронно.
|
|
|
|
+
|
|
|
|
+Символы, при объявлении их в плугине, уже имеют признак синхронности. Символ
|
|
|
|
+может быть принудительно объявлен синхронным, асинхронным, либо плугин может
|
|
|
|
+отдать решение о синхронности на откуп пользователю. Если флаг постоянства
|
|
|
|
+объявлен принудительно в плугине, то настройка атрибута `sync` не будет влиять
|
|
|
|
+ни на что. Она не может переопределить флаг синхронности, принудительно
|
|
|
|
+определенный внутри плугина.
|
|
|
|
+
|
|
|
|
|
|
#### Атрибут `exec_on`
|
|
#### Атрибут `exec_on`
|
|
|
|
|