安装包含本地参考和全部已发布模式的完整包。
install runrun.lil 工作流,支持变量、条件、结果捕获、嵌套脚本、预演和打包文件,并且不会调用操作系统命令行。
把重复的维护步骤写入 .lil 文件,再用
每条可执行语句都按普通 lil-terminal 命令解析。依赖必须预先安装,工作流中不使用 @command;-n 只显示展开后的命令而不执行,运行
run <file.lil|[script]> [-n|-v|-k|-x] · run -p <source.lil> [target.lil]run task.lil执行普通或打包的 .lil 脚本
run [md backup | copy public backup/public]执行内联脚本;未加引号的 | 用于分隔语句
run <script> -n仅验证并显示展开后的命令,不执行
run <script> -v显示完整命令输出
run <script> -k出错后继续;默认在第一次错误时停止
run <script> -x允许 php、ses 等特权非交互命令
run -p <source.lil> [target.lil]创建带校验和保护的打包脚本
lil <script>plain .lilUTF-8 文本,每行一条语句
packed .lil包含 SHA-256 和 DEFLATE 数据的 @LIL1 头
setup.lil授权后执行一次,成功后删除
autoload.lil每个已授权会话执行一次
@<command>自动安装仅用于交互模式,在脚本中会被拒绝
#lil file只包含普通终端命令的 core 线性脚本;可通过路径或 < 启动
run workflow需要变量、条件、嵌套、capture 或其他流程逻辑时使用
经常重复相同的维护操作?把命令写进 .lil 文本文件,用
先运行 | 用于分隔命令。
每行放一条命令或控制语句。set 保存变量,capture 记录输出,if/else 决定分支,if file ${source} 会在继续前检查文件是否存在。
-v 显示所有命令输出。默认遇到第一个错误就停止;-k 虽会执行后续步骤,但只要发生过错误,最终状态仍是 Stopped。预览并不能保证实际执行成功。
首行是 #lil 的文件可由 Base Core 直接按普通命令序列执行。需要变量、条件、嵌套时使用完整的
lil.php 旁的 setup.lil 在授权后执行,只有全部成功才删除;autoload.lil 每个授权会话运行一次。-p 用 SHA-256 和 DEFLATE 生成 @LIL1 文件,但**不会加密**。
脚本以当前 PHP 进程的权限运行。交互式操作和
普通文本限制为 256 KiB,打包输入为 384 KiB,脚本最多 1000 条语句、10 层嵌套和 60 秒。SHA-256 与 DEFLATE 用于完整性,不提供加密。
脚本使用当前 PHP 进程的权限。交互命令被禁止,php 与 ses 必须显式使用 -x。不要运行未经检查的脚本。
@command 便捷语法属于交互核心,而不是自动化语言。在 .lil 脚本中,以 @ 开头的命令会被拒绝。应在自动化之前显式安装脚本依赖,避免工作流在执行过程中隐式改变可用模块集合。
以 #lil 开头的文件刻意保持得比 | 分隔符按从左到右执行,并在第一次失败时停止。文件可直接按路径运行,也可用 < file.lil。当脚本需要变量、条件、嵌套脚本、capture、dry-
整个工作流(包括嵌套脚本)最多处理 1000 条非注释指令。-n 校验失败时显示 Stopped 而不是 Checked,预检不会执行命令。
可直接在页面中运行预先准备的示例。结果已预先生成并在浏览器中显示;服务器不会执行任何终端命令。
安装当前兼容版本。完整功能请选择 Base,精简包请选择 Minimum;已安装模块的更新请使用 upgrade。
Base 与 Minimum 是同一当前模块版本的两个包。
安装包含本地参考和全部已发布模式的完整包。
install run安装精简包。该包不包含本地参考;
install run -m安装这个确切的已发布版本。
install run -v 1.2.4让 upgrade 检查兼容性,仅在需要时替换已安装块。
upgrade run删除扩展块,不影响核心和其他模块。
install run -u示例可复制,但网站不会执行。请先检查路径、权限和破坏性选项。
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 工作流和粘贴执行的自动化都使用同一套命令执行路径。
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.lil该示例使用受保护的 /sandbox/ 文档工作区中的文件或目录。
# lil-sandbox workflow
pwd
dir 1 sandbox
echo sandbox/data/sample.txt