The Ops Language

A rule-based super-shell language

with native streaming matching and human console interaction emulation

OpsLang Features

Rule-based Super Shell

You can directly invoke existing shell commands or scripts. But the language design of OpsLang is more complete, with arrays, hashes etc. And the expressive ability is far superior to Shell.

Complete Terminal Support

You can emulate human beings performing various complicated operations directly on the terminal emulator. It also supports simultaneous control of multiple terminal windows like the screen/tmux tools. Furthermore, you can use the standard Perl-compatible regexes for streaming matching, streaming processing and other interactions with the virtual terminal output.

Remote Execution

You can emulate human behaviour by logging in to a remote machine via ssh, and then performing a series of interactive operations on the remote machine.

Native Recognition of Shell Language

The correct escape rules are automatically applied based on the context of the OpsLang variable referenced in the shell command string, eradicating the possibility of a shell injection attack, while the OpsLang code can remain beautiful and concise.

Dependency Description of Execution Goal

Similar to GNU make, each execution goal can describe its own dependency goals, but the target here does not directly correspond to the file on the file system. It is abstract, so that automatic dependency calculation and incremental building can be easily achieved.

Easy to Debug

It has a complete process log to view the inputs and outputs of each command, even those executed on a remote machine.

Questions & Answers

Which operating systems are supported?

Currently supported operating systems include CentOS 6/7, RHEL 6/7/8, Ubuntu 14.04/16.04/18.04/19.04, Debian 8/9/10, Amazon Linux 2. Other system, like MacOS, will be supported later.

Can I share my ops script publicly?

Yes, you can. The OpsLang script you wrote is owned by yourself. You are also encouraged to share your own scripts and libraries.

What form of community support is provided?

Currently it's a Wechat group. After your payment is done, you can follow our Wechat account "OpenResty Software" and enter your email used for payment. We will invite you to the group. Later we will provide a forum.

Can I share my personal token with multiple people?

No, it is not allowed. The token is for your personal use only. And it can be installed and used on up to 3 machines. If we find that there are multiple people sharing the same token, we will revoke your token and suspend your service without refund.