run

run; değişkenler, koşullar, yakalanan sonuçlar, iç içe betikler, önizleme ve paketlenmiş dosyalar içeren .lil iş akışlarını etkileşimli terminalle aynı komut yolu üzerinden çalıştırır. İşletim sistemi kabuğunu çağırmaz.

OtomasyonSürüm 1.2.4Kararlı
lil-terminal

Genel bakış

Tekrarlanan işleri .lil dosyasına yazın. run sırayla çalıştırır; önce -n ile kontrol edin.

Otomasyon lil-terminal içinde kalır

Her yürütülebilir ifade normal bir lil-terminal komutu olarak çözülür. Bağımlılıklar önceden kurulmalıdır, iş akışlarında @command kullanılmaz, -n genişletilmiş komutları çalıştırmadan gösterir ve php ya da ses gibi ayrıcalıklı etkileşimsiz komutlar için -x gerekir.

Sözdizimi

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

Başvuru

run task.lil

normal veya paketlenmiş bir .lil betiğini çalıştırmak

run [md backup | copy public backup/public]

satır içi betik çalıştırmak; tırnaksız | ifadeleri ayırır

run <script> -n

komutları çalıştırmadan doğrulayıp genişletilmiş hâlini göstermek

run <script> -v

komutların tam çıktısını göstermek

run <script> -k

hatalardan sonra devam etmek; varsayılan ilk hatada durur

run <script> -x

php ve ses gibi ayrıcalıklı etkileşimsiz komutlara izin vermek

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

sağlama toplamıyla korunan paketli betik oluşturmak

lil <script>

run için takma ad

plain .lil

satır başına bir ifade içeren UTF-8 metin

packed .lil

SHA-256 ve DEFLATE verileri içeren @LIL1 başlığı

setup.lil

yetkilendirmeden sonra bir kez çalıştırıp başarıdan sonra silmek

autoload.lil

yetkili oturum başına bir kez çalıştırmak

@<command>

otomatik kurulum yalnızca etkileşimli kullanım içindir ve betiklerde reddedilir

#lil file

yalnızca normal terminal komutlarından oluşan core doğrusal betiği; yoluyla veya < ile çalıştırılır

run workflow

değişken, koşul, iç içe çalışma, capture ya da başka akış mantığı gerektiğinde run kullan

Pratik kullanım

Aynı bakım adımlarını tekrar mı ediyorsunuz? Komutları bir .lil metin dosyasına yazıp run ile sırayla çalıştırın. Bu işlem işletim sisteminin kabuğunu değil, lil-terminal komutlarını kullanır.

Önce run sandbox/scripts/workflow.lil -n ile hiçbir şey çalıştırmadan kontrol edin. Ardından -n seçeneğini kaldırın. Kısa görevler için run [pwd | pwd] kullanılabilir; | komutları ayırır.

Her satırda bir komut veya kontrol ifadesi bulunur. set değer saklar, capture çıktıyı kaydeder, if/else koşullu yol seçer, run başka dosyayı çağırır. Örnekte if file ${source} dosyanın varlığını denetler.

-v tüm çıktıları gösterir. Normalde ilk hatada durulur; -k sonraki adımlara geçer, ancak hata olmuşsa genel sonuç yine Stopped olur. Önizleme, gerçek çalıştırmanın başarılı olacağını garanti etmez.

İlk satırı #lil olan dosyayı Base Core basit bir komut dizisi olarak doğrudan çalıştırabilir. Değişken, koşul ve iç içe işlemler için tam run gerekir. Minimum tek dosya argümanı için tasarlanmıştır. run [pwd] gibi boşluksuz kısa bir ifade de çalışabilir; çok komutlu inline senaryolar ve gelişmiş seçenekler için Base gerekir.

lil.php yanındaki setup.lil yetkilendirmeden sonra çalışır ve yalnızca başarılı olursa silinir; autoload.lil yetkili oturum başına bir kez çalışır. -p SHA-256 ve DEFLATE ile @LIL1 paketi üretir, ancak **şifrelemez**.

Betikler PHP işleminin izinleriyle çalışır. Etkileşimli komutlar ve @install yasaktır; php/ses için açıkça -x gerekir. Sınırlar: 256 KiB metin, 384 KiB paket, 1000 ifade, 10 iç içe seviye, 60 saniye. Yapılmış dosya değişiklikleri otomatik geri alınmaz.

Ayrıntılar

Düz metin 256 KiB, paketlenmiş giriş 384 KiB, betikler 1000 ifade, 10 iç içe seviye ve 60 saniye ile sınırlıdır. SHA-256 ve DEFLATE bütünlüğü korur ancak şifreleme sağlamaz.

Güvenlik

Betikler geçerli PHP sürecinin yetkileriyle çalışır. Etkileşimli komutlar engellenir, php ve ses için açıkça -x gerekir. İncelenmemiş betikleri çalıştırmayın.

Otomatik kurulum

@command kısayolu otomasyon diline değil, etkileşimli çekirdeğe aittir. Bir .lil betiğinde @ ile başlayan komut reddedilir. İş akışının çalıştırılabilir modül kümesini örtük biçimde değiştirmemesi için betik bağımlılıklarını otomasyondan önce açıkça kurun.

Core doğrusal betikleri ve Run

#lil ile başlayan dosya, Run workflow’undan bilinçli olarak daha basittir: yorum olmayan her satır normal bir terminal komutudur, üst düzey | ayırıcıları soldan sağa yürütülür ve ilk hatada işlem durur. Dosyayı yoluyla veya < file.lil ile doğrudan çalıştırın. Değişken, koşul, iç içe betik, capture, dry-run veya başka workflow özellikleri gerektiğinde run kullanın.

İç içe betikler dahil bir iş akışı en fazla 1000 yorum dışı komut içerir. -n doğrulaması hata verirse Checked yerine Stopped gösterilir; komut çalıştırılmaz.

Etkileşimli sandbox önizlemesi

Hazırlanmış örnekleri doğrudan sayfada çalıştırın. Sonuçlar önceden hazırlanır ve tarayıcıda gösterilir; sunucuda hiçbir terminal komutu yürütülmez.

Normal veya paketlenmiş bir .lil betiğini çalıştırmak

Kur ve yönet

Güncel uyumlu sürümü kurun. Tüm özellikler için Base, azaltılmış paket için Minimum seçin; zaten kurulu bir modülü güncellemek için upgrade kullanın.

Base ve Minimum aynı geçerli modül sürümünün iki paketidir.

Base paketi

Yerel başvuru ve yayımlanan tüm kiplerle tam paketi kurar.

install run
Minimum paketi

Azaltılmış paketi kurun. Yerel başvuru dahil değildir; help <cmd> -i güncel sunucu başvurusunu açar.

install run -m
Tam yayımlanmış sürüm

Tam olarak bu yayımlanmış sürümü kurun.

install run -v 1.2.4
Kontrol et veya güncelle

upgrade uyumluluğu denetler ve bloğu yalnız gerektiğinde değiştirir.

upgrade run
Modülü kaldır

Çekirdeğe ve diğer modüllere dokunmadan eklenti bloğunu kaldırır.

install run -u

Örnekler

Örnekler kopyalanabilir; site bunları çalıştırmaz. Yolları, izinleri ve yıkıcı seçenekleri denetleyin.

Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2
Komutların tam çıktısını göstermek
run sandbox/scripts/workflow.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Komutları çalıştırmadan doğrulayıp genişletilmiş hâlini göstermek
run sandbox/scripts/workflow.lil -n
001 · pwd
002 · pwd
Checked: 2
Komutları çalıştırmadan doğrulayıp genişletilmiş hâlini göstermek
run sandbox/scripts/workflow.lil -n -v
001 · pwd
002 · pwd
Checked: 2
Run için takma ad
lil sandbox/scripts/workflow.lil
001 + pwd
002 + pwd
Completed: 2

lil, run komutunun kısa takma adıdır; kaydedilmiş .lil iş akışları ile yapıştırılan otomasyon aynı komut yürütme yolunu kullanır.

Satır içi betik çalıştırmak; tırnaksız | ifadeleri ayırır
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
Değişken, koşul, iç içe çalışma, capture ya da başka akış mantığı gerektiğinde run kullan
run sandbox/scripts/nested.lil -v
001 + pwd
    sandbox
002 + pwd
    sandbox
Completed: 2
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run [upload | pwd]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Hatalardan sonra devam etmek; varsayılan ilk hatada durur
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
Php ve ses gibi ayrıcalıklı etkileşimsiz komutlara izin vermek
run [pwd | php -v]
001 + pwd
002 – php -v
    Command is not allowed in scripts
Stopped: 2
Php ve ses gibi ayrıcalıklı etkileşimsiz komutlara izin vermek
run [pwd | php -v] -x -v
001 + pwd
    sandbox
002 + php -v
    PHP 8.4.24
Completed: 2
Php ve ses gibi ayrıcalıklı etkileşimsiz komutlara izin vermek
run sandbox/scripts/privileged.lil
001 – php -v
    Command is not allowed in scripts
Stopped: 1
Php ve ses gibi ayrıcalıklı etkileşimsiz komutlara izin vermek
run sandbox/scripts/privileged.lil -x -v
001 + php -v
    PHP 8.4.24
Completed: 1
Komutları çalıştırmadan doğrulayıp genişletilmiş hâlini göstermek
run sandbox/scripts/invalid.lil -n
001 · pwd
Line 003 – Missing end
Stopped: 1
Değişken, koşul, iç içe çalışma, capture ya da başka akış mantığı gerektiğinde run kullan
run sandbox/scripts/recursive.lil
Recursive script detected
Stopped: 0
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/scripts/blocked.lil
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Hatalardan sonra devam etmek; varsayılan ilk hatada durur
run sandbox/scripts/recover.lil -k
001 – upload
    Command is not allowed in scripts
002 + pwd
Stopped: 2
Sağlama toplamıyla korunan paketli betik oluşturmak
run -p sandbox/scripts/workflow.lil sandbox/scripts/workflow.export.lil
Packed workflow.lil > sandbox/scripts/workflow.export.lil
182 B > 256 B
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/scripts/workflow.packed.lil
001 + pwd
002 + pwd
Completed: 2
Komutları çalıştırmadan doğrulayıp genişletilmiş hâlini göstermek
run sandbox/scripts/workflow.packed.lil -n
001 · pwd
002 · pwd
Checked: 2
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run [@install find]
001 – @install find
    Automatic installation is not allowed in scripts
Stopped: 1
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run [upload]
001 – upload
    Command is not allowed in scripts
Stopped: 1
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/scripts/missing.lil
Script file not found
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/data/sample.txt
Script must use the .lil extension
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run sandbox/scripts/workflow.lil -z
Unknown run option: -z
Satır içi betik çalıştırmak; tırnaksız | ifadeleri ayırır
run [pwd
Inline script is missing ]
Normal veya paketlenmiş bir .lil betiğini çalıştırmak
run
?

Bu örnekte kullanılan dosya: sandbox/scripts/demo.lil

Örnek, korumalı /sandbox/ dokümantasyon alanındaki bir dosya veya dizini kullanır.

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

İlgili belgeler

Güncel herkese açık sürüm

v1.2.42026-11-01

Üretim iyileştirmesi

run için güncel kararlı sürüm. run; değişkenler, koşullar, yakalanan sonuçlar, iç içe betikler, önizleme ve paketlenmiş dosyalar içeren `.