为什么写VxMatScript?

郑鹏飞3年前VxMatScript1138

写VxMatScript的原因,来自于我要为VxTerm写一个触发器。

什么是触发器?

如果您玩过MUD,就会知道一个叫做触发器的名词。

它是根据会话终端接收到的数据信息,自定义一些类似于正则表达式的匹配项,当收到数据的时机与数据与自定义的匹配项相匹配时,自动触发一些脚本,在屏幕上显示归集的信息,以及发送相应的命令。这就叫做触发器。

当我的VxTerm写出来并发布后,我需要实现一些自动化的东西,最简单的一种应用就是根据连接时收到登录的信息时,自动发送用户名和密码进行登录。

于是,2023年9月6号左右,我就开始着手写这玩意。

实际上,从我开始写,到写出来它能开始根据屏幕的信息触发后运行自定义的脚本,发送相应的用户名和密码信息,也就不到几天时间。


当实现了上面的功能后,我发现:我可以把这个触发器后台的脚本功能独立出来,写一个功能完备的脚本语言。

网上现存的各种终端仿真工具如SecureCRT等,它们都是调用vbs、python等脚本语言来实现一些自动化功能。

而我并不想在我的VxTerm里去写与外部脚本语言的接口(以后应该也是会写的),并且我评估自己的能力,应该是有能力写出来一个脚本语言的,于是,花了我整整1个月的时间,终于写出来一个VxMatScript。

目前,截止到今天,我已经确信VxMatScript具备了以下的语言功能,所以就开始准备发布了。

1、有变量和赋值功能

2、有算术表达式计算功能

3、有字符串的处理功能

4、有条件分支功能

5、有循环功能

6、有自定义函数功能

7、还有一些非常特殊的特性,如变量名的动态名称、普通的字符串变量值内容转成函数运行功能、特殊的变量引用方式实现变量名称嵌套等功能

8、并且每个脚本运行的时候,都是独立的线程运行的、可以控制的。同一时间可以有多个触发器被触发,然后每个触发的脚本都是在不同的线程里运行。

目前,我已经将VxMatScript V0.1版本集成到了VxTerm 11.0了。


如果我能有足够的资源,我应该可以把VxMatScript独立出来,做个开源。。。

看看以后的情况再说了。

我是郑鹏飞。 如果您觉得我的文章对您有帮助,可以点击站点上的 关于站点/支持和帮助
转载请注明 : 文章转载自不了阁-飞哥 blog.forbs.cn
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载务必注明出处,尊重他人劳动成果共创和谐网络环境。

相关文章

VxMatScript语言帮助

VxMatScript语言帮助

VxMatScript脚本语言是本人独立开发的一个基于文本内容的实时解析的脚本语言。3个月前,我本人还是一个零基础的C/C++的代码爱好者。如果您想吐槽这个语言有多难用,请您先了解以下信息: ...

VxMatScript的语法实际上很简单

VxMatScript的语法实际上很简单

1、变量定义和赋值        var i=1      ...

VxMatScript已支持局部变量-变量的作用域!

VxMatScript已支持局部变量-变量的作用域!

fun test={     var i=1     var m=0  &...

VxMatScript内置变量-VxTerm专用

VxMatScript内置变量-VxTerm专用

VxTerm中可以使用触发器和VxMatScript脚本互相配合,完成自动化运维任务。触发器可以参考 https://blog.forbs.cn/category-49.html为配合VxT...

VxMatScript 求从1到100相加的和

VxMatScript 求从1到100相加的和

//以下利用两种方式定义两种类型的自定义函数,然后利用这两个自定义函数分别求从1-N之和 //定义一个Text变量 text f1str={    &nb...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。