为什么写VxMatScript?
写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
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载务必注明出处,尊重他人劳动成果共创和谐网络环境。


