Vollständiges Paket mit lokaler Referenz und allen veröffentlichten Modi installieren.
install runrun.lil-Abläufe mit Variablen, Bedingungen, erfassten Ergebnissen, verschachtelten Skripten, Vorschau und gepackten Dateien über denselben Befehlsweg wie das interaktive Terminal aus. Eine Betriebssystem-Shell wird nicht aufgerufen.
Wiederkehrende Schritte gehören in eine .lil-Datei.
Jede ausführbare Anweisung wird wie ein normaler lil-terminal-Befehl aufgelöst. Abhängigkeiten müssen vorher installiert sein, @command wird in Abläufen nicht verwendet, -n zeigt die expandierten Befehle ohne Ausführung und -x ist für privilegierte nichtinteraktive Befehle wie
run <file.lil|[script]> [-n|-v|-k|-x] · run -p <source.lil> [target.lil]run task.lilein normales oder gepacktes .lil-Skript ausführen
run [md backup | copy public backup/public]ein Inline-Skript ausführen; ein nicht zitiertes | trennt Anweisungen
run <script> -nerweiterte Befehle prüfen und anzeigen, ohne sie auszuführen
run <script> -vvollständige Befehlsausgabe anzeigen
run <script> -knach Fehlern fortfahren; standardmäßig beim ersten Fehler stoppen
run <script> -xprivilegierte nichtinteraktive Befehle wie php und ses erlauben
run -p <source.lil> [target.lil]ein prüfsummengeschütztes gepacktes Skript erstellen
lil <script>Alias für
plain .lilUTF-8-Text mit einer Anweisung pro Zeile
packed .lil@LIL1-Kopf mit SHA-256 und DEFLATE-Daten
setup.lileinmal nach der Anmeldung ausführen und nach Erfolg löschen
autoload.lileinmal pro autorisierter Sitzung ausführen
@<command>automatische Installation ist nur interaktiv verfügbar und wird in Skripten abgelehnt
#lil filelineares Core-Skript nur aus gewöhnlichen Terminalbefehlen; per Pfad oder mit < starten
run workflowWiederholst du regelmäßig dieselben Wartungsschritte? Speichere sie in einer .lil-Textdatei und starte sie mit
Prüfe zuerst mit | trennt hier die Anweisungen.
Eine Zeile enthält jeweils eine Anweisung. set speichert Werte, capture übernimmt die Befehlsausgabe, if/else wählen einen Zweig, und if file ${source} prüft im Beispiel, ob die Datei existiert.
-v zeigt alle Ausgaben. Standardmäßig stoppt die Ausführung beim ersten Fehler. -k führt spätere Schritte dennoch aus, meldet das gesamte Skript aber weiterhin als Stopped. Eine Vorschau garantiert keinen späteren Erfolg.
Eine Datei mit #lil in der ersten Zeile kann Base Core als einfache Befehlsfolge ausführen. Für Variablen, Bedingungen und verschachtelte Abläufe benötigst du
setup.lil neben lil.php läuft nach der Anmeldung und wird nur nach Erfolg gelöscht; autoload.lil läuft einmal pro autorisierter Sitzung. -p packt mit SHA-256 und DEFLATE in @LIL1, **verschlüsselt** aber nicht.
Skripte verwenden die Rechte des laufenden PHP-Prozesses. Interaktive Befehle und
Klartext ist auf 256 KiB, gepackte Eingaben auf 384 KiB, Skripte auf 1000 Anweisungen, 10 Verschachtelungsebenen und 60 Sekunden begrenzt. SHA-256 und DEFLATE schützen die Integrität, stellen aber keine Verschlüsselung dar.
Skripte laufen mit den Rechten des aktuellen PHP-Prozesses. Interaktive Befehle sind gesperrt; php und ses erfordern ausdrücklich -x. Führen Sie keine ungeprüften Skripte aus.
Die Kurzform @command gehört zum interaktiven Core und nicht zur Automatisierungssprache. Beginnt ein Befehl in einem .lil-Skript mit @, wird er abgelehnt. Skriptabhängigkeiten sollten vor der Automatisierung ausdrücklich installiert werden, damit ein Workflow seinen ausführbaren Modulbestand nicht still verändert.
Eine Datei mit #lil als erster Zeile ist absichtlich einfacher als ein | auf oberster Ebene wird von links nach rechts abgearbeitet, und beim ersten Fehler wird gestoppt. Die Datei wird direkt über den Pfad oder mit < file.lil gestartet.
Ein Workflow einschließlich verschachtelter Skripte darf insgesamt höchstens 1000 Anweisungen ohne Kommentare enthalten. -n meldet bei Fehlern Stopped statt Checked und führt keine Befehle aus.
Führen Sie die vorbereiteten Beispiele direkt auf der Seite aus. Die Ergebnisse sind vorab erstellt und werden im Browser angezeigt; auf dem Server wird kein Terminalbefehl ausgeführt.
Installieren Sie die aktuelle kompatible Version. Wählen Sie Base für den vollständigen Funktionsumfang oder Minimum für das reduzierte Paket; ein bereits installiertes Modul wird mit upgrade aktualisiert.
Base und Minimum sind zwei Pakete derselben aktuellen Modulversion.
Vollständiges Paket mit lokaler Referenz und allen veröffentlichten Modi installieren.
install runDas reduzierte Paket installieren. Die lokale Referenz entfällt;
install run -mGenau diese veröffentlichte Version installieren.
install run -v 1.2.4upgrade prüft Kompatibilität und ersetzt den Block nur bei Bedarf.
upgrade runErweiterungsblock entfernen, Core und andere Module bleiben erhalten.
install run -uDie Beispiele sind kopierbar, werden aber nicht von der Website ausgeführt. Prüfen Sie Pfade, Rechte und destruktive Optionen.
run sandbox/scripts/workflow.lil001 + pwd
002 + pwd
Completed: 2run sandbox/scripts/workflow.lil -v001 + pwd
sandbox
002 + pwd
sandbox
Completed: 2run sandbox/scripts/workflow.lil -n001 · pwd
002 · pwd
Checked: 2run sandbox/scripts/workflow.lil -n -v001 · pwd
002 · pwd
Checked: 2lil sandbox/scripts/workflow.lil001 + pwd
002 + pwd
Completed: 2.lil-Abläufe und eingefügte Automatisierung verwenden denselben Befehlsweg.
run [pwd | pwd]001 + pwd
002 + pwd
Completed: 2run [set name demo | if eq demo demo | pwd | else | stop mismatch | end]001 + pwd
Completed: 1run [if file sandbox/data/sample.txt | pwd | end]001 + pwd
Completed: 1run [if not exists sandbox/missing.txt | pwd | end]001 + pwd
Completed: 1run [capture location pwd | pwd] -v001 + pwd
sandbox
002 + pwd
sandbox
Completed: 2run sandbox/scripts/nested.lil -v001 + pwd
sandbox
002 + pwd
sandbox
Completed: 2run [upload | pwd]001 – upload
Command is not allowed in scripts
Stopped: 1run [upload | pwd] -k001 – upload
Command is not allowed in scripts
002 + pwd
Stopped: 2run [stop maintenance]Line 001 – maintenance
Stopped: 0run [pwd | php -v]001 + pwd
002 – php -v
Command is not allowed in scripts
Stopped: 2run [pwd | php -v] -x -v001 + pwd
sandbox
002 + php -v
PHP 8.4.24
Completed: 2run sandbox/scripts/privileged.lil001 – php -v
Command is not allowed in scripts
Stopped: 1run sandbox/scripts/privileged.lil -x -v001 + php -v
PHP 8.4.24
Completed: 1run sandbox/scripts/invalid.lil -n001 · pwd
Line 003 – Missing end
Stopped: 1run sandbox/scripts/recursive.lilRecursive script detected
Stopped: 0run sandbox/scripts/blocked.lil001 – @install find
Automatic installation is not allowed in scripts
Stopped: 1run sandbox/scripts/recover.lil -k001 – upload
Command is not allowed in scripts
002 + pwd
Stopped: 2run -p sandbox/scripts/workflow.lil sandbox/scripts/workflow.export.lilPacked workflow.lil > sandbox/scripts/workflow.export.lil
182 B > 256 Brun sandbox/scripts/workflow.packed.lil001 + pwd
002 + pwd
Completed: 2run sandbox/scripts/workflow.packed.lil -n001 · pwd
002 · pwd
Checked: 2run [@install find]001 – @install find
Automatic installation is not allowed in scripts
Stopped: 1run [upload]001 – upload
Command is not allowed in scripts
Stopped: 1run sandbox/scripts/missing.lilScript file not foundrun sandbox/data/sample.txtScript must use the .lil extensionrun sandbox/scripts/workflow.lil -zUnknown run option: -zrun [pwdInline script is missing ]run?sandbox/scripts/demo.lilDas Beispiel verwendet eine Datei oder ein Verzeichnis aus dem geschützten Dokumentationsbereich /sandbox/.
# lil-sandbox workflow
pwd
dir 1 sandbox
echo sandbox/data/sample.txt
Aktuelle stabile Version von