run

run executa fluxos .lil com variáveis, condições, resultados capturados, scripts aninhados, prévia e arquivos empacotados pelo mesmo caminho de comandos do terminal interativo. Ele não chama um shell do sistema operacional.

AutomaçãoVersão 1.2.4Estável
lil-terminal

Visão geral

Guarde tarefas repetidas em um arquivo .lil. run executa na ordem; confira primeiro com -n.

A automação permanece dentro do lil-terminal

Cada instrução é resolvida como um comando normal do lil-terminal. As dependências devem estar instaladas antes, @command não é usado nos fluxos, -n mostra os comandos expandidos sem executá-los e -x é obrigatório para comandos privilegiados não interativos como php ou ses.

Sintaxe

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

Referência

run task.lil

executar um script .lil normal ou empacotado

run [md backup | copy public backup/public]

executar um script embutido; um | sem aspas separa instruções

run <script> -n

validar e mostrar os comandos expandidos sem executá-los

run <script> -v

mostrar toda a saída dos comandos

run <script> -k

continuar após falhas; o padrão para na primeira falha

run <script> -x

permitir comandos privilegiados não interativos como php e ses

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

criar um script empacotado protegido por soma de verificação

lil <script>

alias de run

plain .lil

texto UTF-8 com uma instrução por linha

packed .lil

cabeçalho @LIL1 com SHA-256 e dados DEFLATE

setup.lil

executar uma vez após a autorização e remover após sucesso

autoload.lil

executar uma vez por sessão autorizada

@<command>

a instalação automática é exclusiva do modo interativo e é recusada em scripts

#lil file

script linear do core formado somente por comandos comuns; execute pelo caminho ou com <

run workflow

usar run quando forem necessárias variáveis, condições, aninhamento, capture ou outra lógica de fluxo

Na prática

Costuma repetir as mesmas tarefas de manutenção? Guarde os comandos em um arquivo de texto .lil e execute com run. As etapas usam os comandos do lil-terminal, não o shell do sistema operacional.

Comece com run sandbox/scripts/workflow.lil -n para conferir sem executar nada. Depois retire -n. Para tarefas curtas, use run [pwd | pwd]: o | separa os comandos.

Cada linha traz um comando ou instrução. set guarda valores, capture registra a saída, if/else escolhe o caminho e run chama outro arquivo. No exemplo, if file ${source} verifica se o arquivo existe.

-v mostra todas as saídas. Em geral, a primeira falha interrompe o script; -k continua as etapas seguintes, mas o resultado final permanece Stopped se houve erro. A prévia não garante sucesso na execução real.

Um arquivo iniciado por #lil pode ser executado diretamente pelo Base Core como uma sequência simples. Para variáveis, condições e scripts aninhados, use o run completo. Minimum foi pensado para um único argumento de arquivo. Uma forma curta sem espaços, como run [pwd], também pode funcionar; scripts inline com vários comandos e opções avançadas exigem Base.

setup.lil ao lado de lil.php roda após autorização e só é excluído quando tudo dá certo; autoload.lil roda uma vez por sessão autorizada. -p empacota com SHA-256 e DEFLATE em @LIL1, mas **não criptografa**.

Os scripts usam as permissões do processo PHP. Comandos interativos e @install são proibidos; php/ses exigem -x. Limites: 256 KiB de texto, 384 KiB empacotados, 1.000 instruções, 10 níveis e 60 segundos. Alterações já feitas não são desfeitas automaticamente.

Detalhes

O texto simples é limitado a 256 KiB, a entrada empacotada a 384 KiB, os scripts a 1000 instruções, 10 níveis e 60 segundos. SHA-256 e DEFLATE protegem a integridade, mas não criptografam o conteúdo.

Segurança

Os scripts usam as permissões do processo PHP atual. Comandos interativos são bloqueados e php e ses exigem -x. Não execute scripts não revisados.

Instalação automática

O atalho @command pertence ao núcleo interativo, não à linguagem de automação. Um comando iniciado por @ dentro de um script .lil é recusado. Instale explicitamente as dependências do script antes da automação para que o fluxo nunca altere de forma implícita o conjunto de módulos executáveis.

Scripts lineares do core e Run

Um arquivo iniciado por #lil é propositalmente mais simples que um workflow Run: cada linha que não seja comentário é um comando comum do terminal, separadores | no nível principal são executados da esquerda para a direita e o processamento para na primeira falha. Execute o arquivo diretamente pelo caminho ou com < file.lil. Use run quando forem necessárias variáveis, condições, scripts aninhados, capture, dry-run ou outras funções de workflow.

Um fluxo, incluindo scripts aninhados, permite até 1000 instruções não comentadas. Em -n, uma falha exibe Stopped, não Checked, e nenhum comando é executado.

Prévia interativa do sandbox

Execute os exemplos preparados diretamente na página. Os resultados são predefinidos e exibidos no navegador; nenhum comando do terminal é executado no servidor.

Executar um script .lil normal ou empacotado

Instalar e gerenciar

Instale a versão compatível atual. Escolha Base para o conjunto completo de recursos ou Minimum para o pacote reduzido; use upgrade para atualizar um módulo já instalado.

Base e Minimum são dois pacotes da mesma versão atual do módulo.

Pacote Base

Instala o pacote completo com referência local e todos os modos publicados.

install run
Pacote Minimum

Instalar o pacote reduzido. A referência local é omitida; help <cmd> -i abre a referência atual do servidor.

install run -m
Versão pública exata

Instalar exatamente esta versão publicada.

install run -v 1.2.4
Verificar ou atualizar

upgrade verifica compatibilidade e substitui o bloco somente quando necessário.

upgrade run
Remover módulo

Remove o bloco da extensão sem afetar o núcleo ou outros módulos.

install run -u

Exemplos

Os exemplos podem ser copiados, mas o site não os executa. Revise caminhos, permissões e opções destrutivas.

Executar um script .lil normal ou empacotado
run sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2
Mostrar toda a saída dos comandos
run sandbox/scripts/workflow.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Validar e mostrar os comandos expandidos sem executá-los
run sandbox/scripts/workflow.lil -n
001 · pwd
002 · pwd
Checked: 2
Validar e mostrar os comandos expandidos sem executá-los
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 é o alias curto de run; fluxos .lil salvos e automações coladas usam o mesmo caminho de execução de comandos.

Executar um script embutido; um | sem aspas separa instruções
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
Usar run quando forem necessárias variáveis, condições, aninhamento, capture ou outra lógica de fluxo
run sandbox/scripts/nested.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Executar um script .lil normal ou empacotado
run [upload | pwd]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Continuar após falhas; o padrão para na primeira falha
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
Permitir comandos privilegiados não interativos como php e ses
run [pwd | php -v]
001 + pwd
002 – php -v
    Command is not allowed in scripts
Stopped: 2
Permitir comandos privilegiados não interativos como php e ses
run [pwd | php -v] -x -v
001 + pwd
    sandbox
002 + php -v
    PHP 8.4.24
Completed: 2
Permitir comandos privilegiados não interativos como php e ses
run sandbox/scripts/privileged.lil
001 – php -v
    Command is not allowed in scripts
Stopped: 1
Permitir comandos privilegiados não interativos como php e ses
run sandbox/scripts/privileged.lil -x -v
001 + php -v
    PHP 8.4.24
Completed: 1
Validar e mostrar os comandos expandidos sem executá-los
run sandbox/scripts/invalid.lil -n
001 · pwd
Line 003 – Missing end
Stopped: 1
Usar run quando forem necessárias variáveis, condições, aninhamento, capture ou outra lógica de fluxo
run sandbox/scripts/recursive.lil
Recursive script detected
Stopped: 0
Executar um script .lil normal ou empacotado
run sandbox/scripts/blocked.lil
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Continuar após falhas; o padrão para na primeira falha
run sandbox/scripts/recover.lil -k
001 – upload
    Command is not allowed in scripts
002 + pwd
Stopped: 2
Criar um script empacotado protegido por soma de verificação
run -p sandbox/scripts/workflow.lil sandbox/scripts/workflow.export.lil
Packed workflow.lil > sandbox/scripts/workflow.export.lil
182 B > 256 B
Executar um script .lil normal ou empacotado
run sandbox/scripts/workflow.packed.lil
001 + pwd
002 + pwd
Completed: 2
Validar e mostrar os comandos expandidos sem executá-los
run sandbox/scripts/workflow.packed.lil -n
001 · pwd
002 · pwd
Checked: 2
Executar um script .lil normal ou empacotado
run [@install find]
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Executar um script .lil normal ou empacotado
run [upload]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Executar um script .lil normal ou empacotado
run sandbox/scripts/missing.lil
Script file not found
Executar um script .lil normal ou empacotado
run sandbox/data/sample.txt
Script must use the .lil extension
Executar um script .lil normal ou empacotado
run sandbox/scripts/workflow.lil -z
Unknown run option: -z
Executar um script embutido; um | sem aspas separa instruções
run [pwd
Inline script is missing ]
Executar um script .lil normal ou empacotado
run
?

Arquivo usado neste exemplo: sandbox/scripts/demo.lil

O exemplo usa um arquivo ou diretório do espaço protegido de documentação /sandbox/.

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

Documentação relacionada

Versão pública atual

v1.2.42026-11-01

Refinamento de produção

Versão estável atual de run. run executa fluxos `.