可能标题有点唬人 O(∩_∩)O哈哈~ ,前几天非常忙,测试的最后环节改点东西就得上传测试服务器,每次都是一样的命令,击击复击击,我受不鸟了(~ o ~)~zZ,然而我是一个懒人,这几天不忙,于是就写了个SecureCRT专用的脚本,共享出来给大家使用
-
简介
- 目前的脚本经过简单的修改后就可以实现
- 测试服务器原有包的删除,当然你也可以自己去添加备份命令
- 自动上传安装在本地仓库的war
- 上传完成后自动切换到catalina.out输出
- 新建Tab,并切换到当前项目日志输出
- 有个功能我没有发现API,暂时没有办法实现:每次新建Tab之后需要手动右键新建的tab,选择
Send to New Tab Group
,这样才能分屏显示,找了好久都没有找到,API中没有这个方法,也没有找到调用菜单的方法
- 目前的脚本经过简单的修改后就可以实现
-
使用方法
- 保存下面的脚本到一个UTF-8的文本文件中
- 根据下面脚本的注释提示修改脚本
- CRT菜单 → Script → Run → 选中脚本文件运行
-
脚本内容
# $language = "JScript" # $interface = "1.0" function waitCommandFinished() { crt.Screen.WaitForString("[root@aibeta webapps]#") // 把aibeta修改为自己服务器的名称 } crt.Screen.Synchronous = true crt.Screen.Send("cd /root/apache-tomcat-8.5.23/webapps/\n"); // 这个路径修改为自己服务器的webapp路径 waitCommandFinished(); crt.Screen.Send("rm -rf oooo*\n"); // oooo是war包的名称 waitCommandFinished(); crt.Screen.Send("ll\n"); waitCommandFinished(); crt.FileTransfer.AddToUploadList("D:/Projects/xxxxx/oooo.war") // 安装到本地仓库的war路径或者项目Target下的war路径 crt.Screen.Send("rz\n"); waitCommandFinished(); crt.Screen.Send("ll\n"); waitCommandFinished(); crt.Screen.Send("tailf ../logs/catalina.out\n"); var tab1 = crt.GetTab(1); var newTab = tab1.Clone(); newTab.Caption = "new tab title"; // 如果想可以给新Tab起个名字 function waitCommandFinishedInLogs() { newTab.Screen.WaitForString("[root@aibeta logs]#") // 参考上面 } newTab.Screen.Send("cd /root/apache-tomcat-8.5.23/logs/\n"); // 参考上面 waitCommandFinishedInLogs(); newTab.Screen.Send("tailf oooo_current.log\n"); // oooo_current.log是当前项目的日志文件