SecureCRT的脚本,我主要是连上设备串口后用来长时间挂测,这个脚本相当于是直接去执行命令,并判断命令结束后的返回值,如果返回正确则继续,错误或者设定期限内没有返回我们需要的值,则返回字符串并进入休眠,等待我们来之后可以方便观察现场。
![](https://img-blog.csdnimg.cn/img_convert/d3cc0e4ffbb77f4f8ac5b9ae6fc6b345.png)
以下是对脚本步骤的解释说明,最后附带下载链接:
1、这个脚本是JS的,所以在文件头部需要写上这个
![](https://img-blog.csdnimg.cn/img_convert/5336f591aba61b39ea9ccb38ab99833d.png)
2、因为我们需要长期挂测,所以就需要一个死循环
crt.Screen.Send("") 是一个输入命令行的函数,相当于把“”符号内的作为文字输入到命令行 \r\n是回车的意思
![](https://img-blog.csdnimg.cn/img_convert/1f069573a3a8caeac4b67bfb3d9782f2.png)
3、对判断函数的解释
crt.Screen.WaitForStrings("") 函数是作为ping命令结束后返回的文字的判断,判断其中是否有以下三个用“”括起来的字符串,如果有则执行后面的命令,等待时间是185秒,时间数字按你需要的去填,因为ping命令有时延,最好多测几次后按时延去写判断的时间,不然有可能因为时间不够导致跳到else判断
crt.Sleep(1000) 函数是休眠命令,单位是1ms,这里我是让其休眠1s所以填1000。reboot下发后最好给出足够的时间,不然会因为设备在不通环境下启动的时间不够导致循环跳出
![](https://img-blog.csdnimg.cn/img_convert/9479e6611826586946328a048231b768.png)
4、else分支作为条件不满足时执行的,一般会打印一些特殊的文字,以方便后面定位问题发生的场景
![](https://img-blog.csdnimg.cn/img_convert/e25ad2e61eac40b5951265c2c820131f.png)
温馨提示:
secureCRT的日志选项最好在测试时勾上,不然到时候打出来的log没得日志时间,没法定位问题是一件很苦恼的事情
使用函数参考的这个链接:
https://blog.csdn.net/weixin_39094034/article/details/112334725
脚本取用地址:
链接:https://pan.baidu.com/s/19gIvZsItGYm9nSYq7-AzHQ
提取码:4f02