run

run выполняет .lil-сценарии с переменными, условиями, захватом результата, вложенными сценариями, предварительной проверкой и упаковкой через тот же механизм команд, что и обычный терминал. Системная оболочка не вызывается.

АвтоматизацияВерсия 1.2.3Стабильная
lil-terminal

Обзор

Используйте run, когда последовательности команд нужна логика или управляемое выполнение. Фиксированный набор обычных команд можно оставить в более простом файле #lil; run добавляет средства автоматизации, не создавая второй язык оболочки.

Автоматизация остаётся внутри lil-terminal

Каждая строка выполняется как обычная команда lil-terminal. Зависимости устанавливаются заранее, @command внутри сценария не используется, -n показывает развёрнутые команды без выполнения, а -x требуется для привилегированных неинтерактивных команд вроде php и ses.

Синтаксис

lil-terminal
run <file.lil|[script]> [options] · run -p <source.lil> [target.lil]

Справочник

run task.lil

выполнить обычный или упакованный .lil-сценарий

run [md backup | copy public backup/public]

выполнить встроенный сценарий; вертикальная черта без кавычек разделяет команды

run -p <source.lil> [target.lil]

создать упакованный сценарий с контрольной суммой

-n

проверить и показать развёрнутые команды без выполнения

-v

показать полный вывод команд

-k

продолжать после ошибок; по умолчанию выполнение останавливается при первой ошибке

-x

разрешить привилегированные неинтерактивные команды, например php и ses

plain .lil

текст UTF-8: одна команда в строке

packed .lil

заголовок @LIL1, SHA-256 и данные DEFLATE

setup.lil

выполнить один раз после авторизации и удалить после успеха

autoload.lil

выполнить один раз за авторизованную сессию

lil <script>

псевдоним для run

@<command>

автоматическая установка доступна только интерактивно и отклоняется внутри сценариев

#lil file

линейный сценарий ядра только из обычных команд терминала; запуск по пути или через <

run workflow

использовать run, когда сценарию нужны переменные, условия, вложенность, захват результата или другая логика

Подробности

Обычный текст ограничен 256 КиБ, упакованный вход — 384 КиБ, сценарий — 1000 командами, вложенность — 10 уровнями, время — 60 секундами. Упаковка использует SHA-256 и DEFLATE для целостности, но не является шифрованием.

Безопасность

Сценарии выполняются с правами текущего PHP-процесса. Интерактивные команды запрещены, а php и ses доступны только с явным -x. Не запускайте непроверенные сценарии.

Автоматическая установка

Сокращение @command относится к интерактивному ядру, а не к языку автоматизации. .lil-сценарий, пытающийся начать команду с @, отклоняется. Зависимости сценария следует устанавливать явно до запуска автоматизации, чтобы рабочий процесс не менял набор исполняемых модулей неявно.

Линейные сценарии ядра и run

Файл, начинающийся с #lil, намеренно проще сценария Run: каждая строка, не являющаяся комментарием, — обычная команда терминала; верхнеуровневые разделители | выполняются слева направо, а первая ошибка останавливает последовательность. Такой файл запускается непосредственно по пути или через < file.lil. Используйте run, когда нужны переменные, условия, вложенные сценарии, захват результата, проверочный запуск или другие средства управления потоком.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Run · script

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install run
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install run -m
Точная публичная версия

Установить именно эту опубликованную версию.

install run -v 1.2.3
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade run
Удалить модуль

Удалить блок расширения, не затрагивая ядро и остальные модули.

install run -u

Примеры

Примеры можно копировать, но сайт их не выполняет. Перед запуском на реальном проекте проверьте пути, права и разрушающие флаги.

Run · script
run sandbox/task.lil -v
001 + cd sandbox
    config/
    data/
    db/
    images/
    logs/
    public/
    scripts/
    tmp/
    workspace/
002 + pwd
    /home/account/public_html/sandbox
Completed: 2
Выполнить обычный или упакованный .lil-сценарий
run sandbox/task.lil
001 + cd sandbox
002 + pwd
Completed: 2
Run · inline
run sandbox/task.lil -n
001 · cd sandbox
002 · pwd
Checked: 2
Выполнить встроенный сценарий; вертикальная черта без кавычек разделяет команды
run [md sandbox/backup | copy sandbox/data sandbox/backup/data]
001 + md sandbox/backup
002 + copy sandbox/data sandbox/backup/data
Completed: 2
Создать упакованный сценарий с контрольной суммой
run -p sandbox/task.lil sandbox/task.packed.lil
Packed task.lil > sandbox/task.packed.lil
15 B > 101 B
Выполнить обычный или упакованный .lil-сценарий
run sandbox/task.packed.lil
001 + cd sandbox
002 + pwd
Completed: 2
Псевдоним для run
lil sandbox/task.lil
001 + cd sandbox
002 + pwd
Completed: 2

lil — короткий псевдоним run; сохранённые .lil-сценарии и вставленная автоматизация используют один и тот же путь выполнения команд.

Выполнить обычный или упакованный .lil-сценарий
run sandbox/missing.lil
Файл сценария не найден

Файл из примера: sandbox/scripts/demo.lil

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

# lil-sandbox workflow
pwd
dir 1 sandbox
echo sandbox/data/sample.txt

Связанная документация

Текущая публичная версия

v1.2.32026-08-12

Синхронизация языков

Завершена синхронизация локальной и серверной справки и усилена безопасность локализации run.