run

run exécute les workflows .lil avec variables, conditions, résultats capturés, scripts imbriqués, prévisualisation et fichiers empaquetés par le même chemin de commande que le terminal interactif. Aucun shell du système d’exploitation n’est invoqué.

AutomatisationVersion 1.2.4Stable
lil-terminal

Vue d’ensemble

Placez les tâches répétitives dans un fichier .lil. run les exécute dans l’ordre ; vérifiez d’abord avec -n.

L’automatisation reste dans lil-terminal

Chaque instruction est résolue comme une commande lil-terminal normale. Les dépendances doivent être installées à l’avance, @command n’est pas utilisé dans les workflows, -n affiche les commandes développées sans les exécuter et -x est requis pour les commandes privilégiées non interactives comme php ou ses.

Syntaxe

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

Référence

run task.lil

exécuter un script .lil simple ou empaqueté

run [md backup | copy public backup/public]

exécuter un script en ligne ; un | sans guillemets sépare les instructions

run <script> -n

valider et afficher les commandes développées sans les exécuter

run <script> -v

afficher toute la sortie des commandes

run <script> -k

continuer après les erreurs ; arrêt au premier échec par défaut

run <script> -x

autoriser les commandes privilégiées non interactives comme php et ses

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

créer un script empaqueté protégé par somme de contrôle

lil <script>

alias de run

plain .lil

texte UTF-8 avec une instruction par ligne

packed .lil

en-tête @LIL1 avec SHA-256 et données DEFLATE

setup.lil

exécuter une fois après autorisation puis supprimer en cas de succès

autoload.lil

exécuter une fois par session autorisée

@<command>

l’installation automatique est réservée au mode interactif et est refusée dans les scripts

#lil file

script linéaire du core composé uniquement de commandes ordinaires ; lancement par chemin ou avec <

run workflow

utiliser run lorsque variables, conditions, imbrication, capture ou autre logique de flux sont nécessaires

En pratique

Vous répétez les mêmes opérations de maintenance ? Placez-les dans un fichier texte .lil, puis lancez run. Les étapes suivent le fonctionnement du terminal, sans appeler le shell du système.

Commencez par run sandbox/scripts/workflow.lil -n pour vérifier les étapes sans les exécuter. Retirez ensuite -n. Pour quelques instructions, utilisez run [pwd | pwd] : | sépare les commandes du scénario.

Une ligne contient une instruction. set mémorise une valeur, capture enregistre la sortie, if et else choisissent une branche, et run appelle un autre script. Dans l’exemple, if file ${source} vérifie la présence du fichier.

-v affiche chaque sortie. Sans option, le premier échec arrête le script ; -k permet de poursuivre, mais le bilan reste Stopped en cas d’échec. La prévisualisation ne garantit pas le résultat de l’exécution réelle.

Un fichier commençant par #lil peut s’exécuter directement dans Base Core comme une simple suite de commandes. Pour les variables, conditions ou appels imbriqués, utilisez run. Minimum est prévu pour un seul argument de fichier. Une courte forme sans espace comme run [pwd] peut aussi fonctionner ; les scripts en ligne à plusieurs commandes et les options avancées exigent Base.

setup.lil, placé près de lil.php, s’exécute après authentification et n’est supprimé qu’après réussite ; autoload.lil s’exécute une fois par session autorisée. -p prépare un fichier @LIL1 avec SHA-256 et DEFLATE, mais **ne le chiffre pas**.

Les scripts disposent des droits du processus PHP. Les commandes interactives et @install sont interdites ; php et ses exigent -x. Limites : 256 Kio en texte, 384 Kio empaquetés, 1 000 instructions, 10 niveaux et 60 secondes. Les changements déjà effectués ne sont pas annulés automatiquement.

Détails

Le texte simple est limité à 256 Kio, l’entrée empaquetée à 384 Kio, les scripts à 1000 instructions, 10 niveaux et 60 secondes. SHA-256 et DEFLATE protègent l’intégrité mais ne chiffrent pas le contenu.

Sécurité

Les scripts utilisent les droits du processus PHP courant. Les commandes interactives sont bloquées et php ainsi que ses exigent -x. N’exécutez pas de scripts non vérifiés.

Installation automatique

Le raccourci @command appartient au cœur interactif, pas au langage d’automatisation. Toute commande commençant par @ dans un script .lil est refusée. Installez explicitement les dépendances du script avant l’automatisation afin qu’un workflow ne modifie jamais implicitement l’ensemble de ses modules exécutables.

Scripts linéaires du core et Run

Un fichier commençant par #lil est volontairement plus simple qu’un workflow Run : chaque ligne non commentée est une commande ordinaire du terminal, les séparateurs | de premier niveau sont traités de gauche à droite et l’exécution s’arrête au premier échec. Le fichier se lance directement par son chemin ou avec < file.lil. Utilisez run pour les variables, conditions, scripts imbriqués, capture, dry-run et autres fonctions de workflow.

Un workflow, scripts imbriqués compris, est limité à 1000 instructions hors commentaires. Avec -n, une erreur affiche Stopped et non Checked ; aucun ordre n’est exécuté.

Aperçu interactif du sandbox

Lancez les exemples préparés directement sur la page. Les résultats sont prédéfinis et affichés dans le navigateur ; aucune commande terminal n’est exécutée sur le serveur.

Exécuter un script .lil simple ou empaqueté

Installer et gérer

Installez la version compatible actuelle. Choisissez Base pour l’ensemble complet des fonctions ou Minimum pour le paquet réduit ; utilisez upgrade pour mettre à jour un module déjà installé.

Base et Minimum sont deux paquets de la même version actuelle du module.

Paquet Base

Installer le paquet complet avec référence locale et tous les modes publiés.

install run
Paquet Minimum

Installer le paquet réduit. La référence locale est omise ; help <cmd> -i ouvre la référence serveur actuelle.

install run -m
Version publique exacte

Installer exactement cette version publiée.

install run -v 1.2.4
Vérifier ou mettre à jour

upgrade vérifie la compatibilité et remplace le bloc seulement si nécessaire.

upgrade run
Supprimer le module

Supprimer le bloc d’extension sans toucher au noyau ni aux autres modules.

install run -u

Exemples

Les exemples sont copiables mais ne sont pas exécutés par le site. Vérifiez chemins, droits et options destructrices.

Exécuter un script .lil simple ou empaqueté
run sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2
Afficher toute la sortie des commandes
run sandbox/scripts/workflow.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Valider et afficher les commandes développées sans les exécuter
run sandbox/scripts/workflow.lil -n
001 · pwd
002 · pwd
Checked: 2
Valider et afficher les commandes développées sans les exécuter
run sandbox/scripts/workflow.lil -n -v
001 · pwd
002 · pwd
Checked: 2
Alias de run
lil sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2

lil est l’alias court de run ; les scénarios .lil enregistrés et l’automatisation collée suivent le même chemin d’exécution des commandes.

Exécuter un script en ligne ; un | sans guillemets sépare les instructions
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
Utiliser run lorsque variables, conditions, imbrication, capture ou autre logique de flux sont nécessaires
run sandbox/scripts/nested.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Exécuter un script .lil simple ou empaqueté
run [upload | pwd]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Continuer après les erreurs ; arrêt au premier échec par défaut
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
Autoriser les commandes privilégiées non interactives comme php et ses
run [pwd | php -v]
001 + pwd
002 – php -v
    Command is not allowed in scripts
Stopped: 2
Autoriser les commandes privilégiées non interactives comme php et ses
run [pwd | php -v] -x -v
001 + pwd
    sandbox
002 + php -v
    PHP 8.4.24
Completed: 2
Autoriser les commandes privilégiées non interactives comme php et ses
run sandbox/scripts/privileged.lil
001 – php -v
    Command is not allowed in scripts
Stopped: 1
Autoriser les commandes privilégiées non interactives comme php et ses
run sandbox/scripts/privileged.lil -x -v
001 + php -v
    PHP 8.4.24
Completed: 1
Valider et afficher les commandes développées sans les exécuter
run sandbox/scripts/invalid.lil -n
001 · pwd
Line 003 – Missing end
Stopped: 1
Utiliser run lorsque variables, conditions, imbrication, capture ou autre logique de flux sont nécessaires
run sandbox/scripts/recursive.lil
Recursive script detected
Stopped: 0
Exécuter un script .lil simple ou empaqueté
run sandbox/scripts/blocked.lil
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Continuer après les erreurs ; arrêt au premier échec par défaut
run sandbox/scripts/recover.lil -k
001 – upload
    Command is not allowed in scripts
002 + pwd
Stopped: 2
Créer un script empaqueté protégé par somme de contrôle
run -p sandbox/scripts/workflow.lil sandbox/scripts/workflow.export.lil
Packed workflow.lil > sandbox/scripts/workflow.export.lil
182 B > 256 B
Exécuter un script .lil simple ou empaqueté
run sandbox/scripts/workflow.packed.lil
001 + pwd
002 + pwd
Completed: 2
Valider et afficher les commandes développées sans les exécuter
run sandbox/scripts/workflow.packed.lil -n
001 · pwd
002 · pwd
Checked: 2
Exécuter un script .lil simple ou empaqueté
run [@install find]
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Exécuter un script .lil simple ou empaqueté
run [upload]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Exécuter un script .lil simple ou empaqueté
run sandbox/scripts/missing.lil
Script file not found
Exécuter un script .lil simple ou empaqueté
run sandbox/data/sample.txt
Script must use the .lil extension
Exécuter un script .lil simple ou empaqueté
run sandbox/scripts/workflow.lil -z
Unknown run option: -z
Exécuter un script en ligne ; un | sans guillemets sépare les instructions
run [pwd
Inline script is missing ]
Exécuter un script .lil simple ou empaqueté
run
?

Fichier utilisé dans cet exemple: sandbox/scripts/demo.lil

L’exemple utilise un fichier ou un répertoire de l’espace de documentation protégé /sandbox/.

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

Documentation associée

Version publique actuelle

v1.2.42026-11-01

Affinage de production

Version stable actuelle de run. run exécute les workflows `.