|
@@ -91,4 +91,28 @@ Klish имеет два типа плугинов. Плугины для заг
|
|
|
|
|
|
Установленные плугины dbs находятся в '/usr/lib/klish/dbs' (если конфигурировать
|
|
|
сборку с --prefix=/usr). Их имена 'kdb-<имя>.so', например
|
|
|
-'/usr/lib/klish/dbs/kdb-libxml2.so'.
|
|
|
+'/usr/lib/klish/dbs/kdb-libxml2.so'.
|
|
|
+
|
|
|
+## Плугины исполняемых функций
|
|
|
+
|
|
|
+Каждая команда klish выполняет какое-либо действие или несколько действий сразу.
|
|
|
+Эти действия надо как-то описывать. Если смотреть внутрь реализации, то klish
|
|
|
+может запускать только исполняемый откомпилированный код из плугина. Плугины
|
|
|
+содержат так называемые символы (symbol, sym), которые, по-сути, представляют
|
|
|
+собой функции с единым зафиксированным API. На эти символы могут ссылаться
|
|
|
+команды klish. В свою очередь символ может выполнять сложный код, например
|
|
|
+запускать интерпретатор shell со скриптом, определяемым при описании команды
|
|
|
+klish в конфигурационном файле. Или же другой символ может исполнять Lua скрипт.
|
|
|
+
|
|
|
+Klish умеет получать символы только из плугинов. Стандартные символы реализованы
|
|
|
+в плугинах включенных в состав проекта klish. В состав klish входят следующие
|
|
|
+плугины:
|
|
|
+
|
|
|
+* klish - Базовый плугин. Навигация, типы данных (для параметров),
|
|
|
+вспомогательные функции.
|
|
|
+* lua - Исполнение скриптов Lua. Механизм встроен в плугин и не использует
|
|
|
+внешнюю программу для интерпретации.
|
|
|
+* script - Исполнение скриптов. Учитывает шебанг (shebang) для определения
|
|
|
+какой интерпретатор использовать. Таким образом могут выполняться не только
|
|
|
+shell скрипты, но и скрипты на других интерпретируемых языках. По умолчанию
|
|
|
+используется интерпретатор shell.
|