OpsLang语言

基于规则的超级 Shell语言

使用原生流式匹配和人机交互仿真

OpsLang 特性

基于规则的超级 Shell

可以直接调用现有的 shell 命令或者脚本,但是语言在设计上更完善,拥有数组,哈希,用户自定义函数,还可以自定义模块以 use 语句来加载,表达能力远超 Shell

完整的虚拟终端支持

可以模拟人类直接对终端摸拟器进行各种复杂的操作,也支持像 screen/tmux 工具那样同时控制多个终端窗口,还可以使用标准的 Perl 兼容的正则表达式对虚拟终端输出进行流式匹配和交互操作

方便的远程执行

可以模拟人类的方式,先 ssh 到某个远程机器,然后可以在远程机器执行一系列交互式任务,而远程机器无需预装任何软件,只需要有标准的 bash 即可

原生识别 Shell 语言的记法

会自动根据在 Shell 命令串中引用 OpsLang 变量的上下文,使用正确的转义规则,根除了 Shell 注入攻击的可能性,同时 OpsLang 代码可以保持优美和简洁

支持执行目标的依赖描述

类似于 GNU make,每个执行目标可以描述自己的依赖目标,只不过这里的目标都不直接对应文件系统上的文件,而是抽象的,这样可以实现自动依赖计算和增量构造

调试方便

拥有完整的过程日志,可以查看每个命令的输入和输出,即使是在远程机器上执行的命令也有完整的日志,可以方便的进行事后分析以及历史存档

常见问题

目前支持的操作系统有哪些?

目前支持的操作系统包括 CentOS 6/7, RHEL 6/7/8, Ubuntu 14.04/16.04/18.04/19.04, Debian 8/9/10, Amazon Linux 2,其他系统比如 Mac等,还在陆续支持中。

我的 OpsLang 脚本可以公开分享么?

可以,你所写的 OpsLang 脚本属于你自己,我们也鼓励大家分享一些常用的脚本

个人版的社区群组支持包括什么形式?

目前我们提供微信群的方式,购买后请关注「OpenResty 软件」公众号,留言输入购买账号的邮件地址,我们将邀请您进群,后续会提供论坛的方式。

个人版可以多个人公用同一个 token 么?

不允许,只限本人使用,并且最多在三个机器上安装使用,如果我们发现有多人共享的行为,我们将撤销您的 Token 并终止您的服务,恕不退款。