run

run esegue workflow .lil con variabili, condizioni, risultati acquisiti, script annidati, anteprima e file impacchettati attraverso lo stesso percorso dei comandi del terminale interattivo. Non richiama una shell del sistema operativo.

AutomazioneVersione 1.2.4Stabile
lil-terminal

Panoramica

Salva i passaggi ripetitivi in un file .lil. run li esegue in ordine; prima controlla con -n.

L’automazione resta dentro lil-terminal

Ogni istruzione viene risolta come un normale comando lil-terminal. Le dipendenze vanno installate prima, @command non viene usato nei workflow, -n mostra i comandi espansi senza eseguirli e -x è necessario per i comandi privilegiati non interattivi come php o ses.

Sintassi

lil-terminal
run <file.lil|[script]> [-n|-v|-k|-x] · run -p <source.lil> [target.lil]

Riferimento

run task.lil

eseguire uno script .lil normale o impacchettato

run [md backup | copy public backup/public]

eseguire uno script inline; un | senza virgolette separa le istruzioni

run <script> -n

convalidare e mostrare i comandi espansi senza eseguirli

run <script> -v

mostrare l’output completo dei comandi

run <script> -k

continuare dopo gli errori; per impostazione predefinita si ferma al primo

run <script> -x

consentire comandi privilegiati non interattivi come php e ses

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

creare uno script impacchettato protetto da checksum

lil <script>

alias di run

plain .lil

testo UTF-8 con un’istruzione per riga

packed .lil

intestazione @LIL1 con SHA-256 e dati DEFLATE

setup.lil

eseguire una volta dopo l’autorizzazione e rimuovere dopo il successo

autoload.lil

eseguire una volta per sessione autorizzata

@<command>

l’installazione automatica è disponibile solo in modalità interattiva e viene rifiutata negli script

#lil file

script lineare del core composto solo da normali comandi; avvio tramite percorso o con <

run workflow

usare run quando servono variabili, condizioni, annidamento, capture o altra logica di flusso

Nella pratica

Ripeti sempre le stesse operazioni di manutenzione? Salvale in un file di testo .lil ed eseguile con run. I passaggi usano i comandi di lil-terminal, non la shell del sistema operativo.

Prova prima run sandbox/scripts/workflow.lil -n: verifica i passaggi senza eseguirli. Poi rimuovi -n. Per una sequenza breve puoi usare run [pwd | pwd]; | separa le istruzioni.

Ogni riga contiene un’istruzione. set memorizza valori, capture acquisisce l’output, if/else sceglie il ramo e run richiama altri script. Nell’esempio, if file ${source} controlla l’esistenza del file.

-v mostra gli output. In generale il primo errore interrompe tutto; -k prosegue con i passi successivi, ma il risultato rimane Stopped se si è verificato un errore. L’anteprima non garantisce la riuscita futura.

Un file che inizia con #lil può essere eseguito direttamente da Base Core come semplice sequenza. Per variabili, condizioni e script annidati serve run. Minimum è pensato per un solo argomento file. Una forma breve senza spazi, come run [pwd], può funzionare, ma per più comandi inline e opzioni avanzate serve Base.

setup.lil accanto a lil.php parte dopo l’autorizzazione ed è rimosso solo in caso di successo; autoload.lil parte una volta per sessione autorizzata. -p crea un pacchetto @LIL1 con SHA-256 e DEFLATE, ma **non cifra** i dati.

Gli script usano i permessi del processo PHP. Comandi interattivi e @install sono vietati; php/ses richiedono -x. Limiti: 256 KiB di testo, 384 KiB compressi, 1000 istruzioni, 10 livelli e 60 secondi. Nessun ripristino automatico delle modifiche già eseguite.

Dettagli

Il testo normale è limitato a 256 KiB, l’input impacchettato a 384 KiB, gli script a 1000 istruzioni, 10 livelli e 60 secondi. SHA-256 e DEFLATE proteggono l’integrità ma non cifrano il contenuto.

Sicurezza

Gli script operano con i permessi del processo PHP corrente. I comandi interattivi sono bloccati e php e ses richiedono -x. Non eseguire script non verificati.

Installazione automatica

La scorciatoia @command appartiene al core interattivo, non al linguaggio di automazione. Un comando che in uno script .lil inizia con @ viene rifiutato. Installa esplicitamente le dipendenze dello script prima dell’automazione, così il workflow non modifica implicitamente l’insieme dei moduli eseguibili.

Script lineari del core e Run

Un file che inizia con #lil è volutamente più semplice di un workflow Run: ogni riga non commentata è un normale comando del terminale, i separatori | al livello principale vengono eseguiti da sinistra a destra e l’elaborazione si ferma al primo errore. Il file si avvia direttamente tramite percorso o con < file.lil. Usa run quando occorrono variabili, condizioni, script annidati, capture, dry-run o altre funzioni di workflow.

Un workflow, inclusi gli script annidati, supporta fino a 1000 istruzioni non commentate. Se -n incontra un errore mostra Stopped invece di Checked e non esegue comandi.

Anteprima interattiva del sandbox

Esegui gli esempi preparati direttamente nella pagina. I risultati sono predefiniti e mostrati nel browser; sul server non viene eseguito alcun comando del terminale.

Eseguire uno script .lil normale o impacchettato

Installa e gestisci

Installa la versione compatibile corrente. Scegli Base per tutte le funzioni o Minimum per il pacchetto ridotto; usa upgrade per aggiornare un modulo già installato.

Base e Minimum sono due pacchetti della stessa release corrente del modulo.

Pacchetto Base

Installa il pacchetto completo con riferimento locale e tutte le modalità pubblicate.

install run
Pacchetto Minimum

Installa il pacchetto ridotto. Il riferimento locale è omesso; help <cmd> -i apre il riferimento server corrente.

install run -m
Versione pubblica esatta

Installa esattamente questa versione pubblicata.

install run -v 1.2.4
Controlla o aggiorna

upgrade controlla la compatibilità e sostituisce il blocco solo quando serve.

upgrade run
Rimuovi modulo

Rimuove il blocco estensione senza toccare core e altri moduli.

install run -u

Esempi

Gli esempi sono copiabili ma il sito non li esegue. Controlla percorsi, permessi e opzioni distruttive.

Eseguire uno script .lil normale o impacchettato
run sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2
Mostrare l’output completo dei comandi
run sandbox/scripts/workflow.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Convalidare e mostrare i comandi espansi senza eseguirli
run sandbox/scripts/workflow.lil -n
001 · pwd
002 · pwd
Checked: 2
Convalidare e mostrare i comandi espansi senza eseguirli
run sandbox/scripts/workflow.lil -n -v
001 · pwd
002 · pwd
Checked: 2
Alias di run
lil sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2

lil è l’alias breve di run; i flussi .lil salvati e l’automazione incollata seguono lo stesso percorso di esecuzione dei comandi.

Eseguire uno script inline; un | senza virgolette separa le istruzioni
run [pwd | pwd]
001 + pwd
002 + pwd
Completed: 2
Run · name
run [set name demo | if eq demo demo | pwd | else | stop mismatch | end]
001 + pwd
Completed: 1
Run · file
run [if file sandbox/data/sample.txt | pwd | end]
001 + pwd
Completed: 1
Run · not
run [if not exists sandbox/missing.txt | pwd | end]
001 + pwd
Completed: 1
Run · location
run [capture location pwd | pwd] -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Usare run quando servono variabili, condizioni, annidamento, capture o altra logica di flusso
run sandbox/scripts/nested.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Eseguire uno script .lil normale o impacchettato
run [upload | pwd]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Continuare dopo gli errori; per impostazione predefinita si ferma al primo
run [upload | pwd] -k
001 – upload
    Command is not allowed in scripts
002 + pwd
Stopped: 2
Run · 14
run [stop maintenance]
Line 001 – maintenance
Stopped: 0
Consentire comandi privilegiati non interattivi come php e ses
run [pwd | php -v]
001 + pwd
002 – php -v
    Command is not allowed in scripts
Stopped: 2
Consentire comandi privilegiati non interattivi come php e ses
run [pwd | php -v] -x -v
001 + pwd
    sandbox
002 + php -v
    PHP 8.4.24
Completed: 2
Consentire comandi privilegiati non interattivi come php e ses
run sandbox/scripts/privileged.lil
001 – php -v
    Command is not allowed in scripts
Stopped: 1
Consentire comandi privilegiati non interattivi come php e ses
run sandbox/scripts/privileged.lil -x -v
001 + php -v
    PHP 8.4.24
Completed: 1
Convalidare e mostrare i comandi espansi senza eseguirli
run sandbox/scripts/invalid.lil -n
001 · pwd
Line 003 – Missing end
Stopped: 1
Usare run quando servono variabili, condizioni, annidamento, capture o altra logica di flusso
run sandbox/scripts/recursive.lil
Recursive script detected
Stopped: 0
Eseguire uno script .lil normale o impacchettato
run sandbox/scripts/blocked.lil
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Continuare dopo gli errori; per impostazione predefinita si ferma al primo
run sandbox/scripts/recover.lil -k
001 – upload
    Command is not allowed in scripts
002 + pwd
Stopped: 2
Creare uno script impacchettato protetto da checksum
run -p sandbox/scripts/workflow.lil sandbox/scripts/workflow.export.lil
Packed workflow.lil > sandbox/scripts/workflow.export.lil
182 B > 256 B
Eseguire uno script .lil normale o impacchettato
run sandbox/scripts/workflow.packed.lil
001 + pwd
002 + pwd
Completed: 2
Convalidare e mostrare i comandi espansi senza eseguirli
run sandbox/scripts/workflow.packed.lil -n
001 · pwd
002 · pwd
Checked: 2
Eseguire uno script .lil normale o impacchettato
run [@install find]
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Eseguire uno script .lil normale o impacchettato
run [upload]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Eseguire uno script .lil normale o impacchettato
run sandbox/scripts/missing.lil
Script file not found
Eseguire uno script .lil normale o impacchettato
run sandbox/data/sample.txt
Script must use the .lil extension
Eseguire uno script .lil normale o impacchettato
run sandbox/scripts/workflow.lil -z
Unknown run option: -z
Eseguire uno script inline; un | senza virgolette separa le istruzioni
run [pwd
Inline script is missing ]
Eseguire uno script .lil normale o impacchettato
run
?

File usato in questo esempio: sandbox/scripts/demo.lil

L’esempio usa un file o una directory dell’area di documentazione protetta /sandbox/.

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

Documentazione correlata

Versione pubblica attuale

v1.2.42026-11-01

Rifinitura di produzione

Versione stabile attuale di run. run esegue workflow `.