run

run executes .lil workflows with variables, conditions, captured results, nested scripts, previews and packed files through the same lil-terminal command path used interactively. It never invokes an operating-system shell.

AutomationVersion 1.2.3Stable
lil-terminal

Overview

Use run when a command sequence needs logic or controlled execution. A fixed list of ordinary commands can stay in a simpler #lil file; run adds workflow features without creating a second shell language.

Automation stays inside lil-terminal

Each executable statement is resolved as a normal lil-terminal command. Dependencies must be installed beforehand, @command is rejected inside workflows, -n previews expanded commands without executing them, and -x is required for privileged non-interactive commands such as php or ses.

Syntax

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

Reference

run task.lil

execute a plain or packed .lil script

run [md backup | copy public backup/public]

execute an inline script; an unquoted | separates statements

run <script> -n

validate and show expanded commands without executing them

run <script> -v

show complete command output

run <script> -k

continue after failures; the default stops on the first failure

run <script> -x

allow privileged non-interactive commands such as php and ses

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

create a checksum-protected packed script

lil <script>

alias for run

plain .lil

UTF-8 text with one statement per line

packed .lil

@LIL1 header with SHA-256 and DEFLATE data

setup.lil

run once after authorization and remove after success

autoload.lil

run once per authorized session

#lil file

core-linear script: ordinary terminal commands only; run it by path or with <

run workflow

use run when variables, conditions, nesting, capture or other workflow logic is required

Conditions

The supported conditions are ok, fail, exists, file, dir, empty, eq, ne and command. Prefix a condition with not to invert it.

Packed format

A packed file starts with @LIL1, the original byte length and a SHA-256 checksum. The remaining payload is URL-safe base64 over raw DEFLATE data. Packing is not encryption and is not a security boundary.

Startup files

setup.lil is checked beside lil.php after authorization and is removed only after every statement succeeds. autoload.lil is checked beside lil.php once per session and is not removed.

Automatic installation

The @command convenience belongs to the interactive core, not to the automation language. A .lil script that starts a command with @ is rejected. Install script dependencies explicitly before automation so a workflow never changes its executable module set implicitly.

Safety

Startup files must be regular readable .lil files beside lil.php; symlinks are rejected. Plain content is limited to 256 KiB, packed input to 384 KiB, scripts to 1000 statements, nesting to 10 levels and execution to 60 seconds. Interactive commands are blocked. php and ses require -x.

Core-linear scripts and Run

A file beginning with #lil is intentionally simpler than a Run workflow: every non-comment line is an ordinary terminal command, top-level | separators are executed from left to right, and processing stops after the first failure. Run the file directly by path or with < file.lil. Use run when the script needs variables, conditions, nested scripts, capture, dry-run controls or other workflow features.

Interactive sandbox preview

Run the prepared examples directly on the page. Their results are prebuilt and shown in the browser; no terminal command is executed on the server.

Show complete command output

Install and manage

Install the current compatible version. Choose Base for the complete feature set or Minimum for the reduced package; use upgrade to update a module that is already installed.

Base and Minimum are two packages of the same current module release, not separate command versions.

Base package

Install the complete package with local command reference and every published mode.

install run
Minimum package

Install the reduced package. Local reference is omitted; help <cmd> -i opens the current server reference.

install run -m
Exact public version

Install exactly this published version.

install run -v 1.2.3
Check or update

Ask upgrade to check compatibility and replace the installed block only when needed.

upgrade run
Remove module

Remove the extension block while leaving the core and unrelated modules intact.

install run -u

Examples

Examples are copyable command lines, not actions executed by this website. Review paths, permissions and destructive flags before running them on a real project.

Show complete command output
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
Execute a plain or packed .lil script
run sandbox/task.lil
001 + cd sandbox
002 + pwd
Completed: 2
Validate and show expanded commands without executing them
run sandbox/task.lil -n
001 · cd sandbox
002 · pwd
Checked: 2
Execute an inline script; an unquoted | separates statements
run [md sandbox/backup | copy sandbox/data sandbox/backup/data]
001 + md sandbox/backup
002 + copy sandbox/data sandbox/backup/data
Completed: 2
Create a checksum-protected packed script
run -p sandbox/task.lil sandbox/task.packed.lil
Packed task.lil > sandbox/task.packed.lil
15 B > 101 B
Execute a plain or packed .lil script
run sandbox/task.packed.lil
001 + cd sandbox
002 + pwd
Completed: 2
Alias for run
lil sandbox/task.lil
001 + cd sandbox
002 + pwd
Completed: 2

lil is the short alias of run; saved .lil workflows and pasted automation use the same command execution path.

Execute a plain or packed .lil script
run sandbox/missing.lil
Script file not found

File used in this example: sandbox/scripts/demo.lil

The example uses a file or directory from the protected /sandbox/ documentation workspace.

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

Related documentation

Current public release

v1.2.32026-08-12

Language synchronization

Finalizes Local and Server Help synchronization and localization safety for run.