shell脚本中插入expect命令获取交换机版本信息

2018年11月11日 1902点热度 0人点赞 4条评论

   通常,我们可能会使用expect命令来自动交互式的输入密码或者执行一些命令。但是expect命令毕竟还算是比较少用的,如果我们想要对其输出的信息进行过滤分析的话,直接使用expect命令来实现可能相对比较复杂。一般我们还是希望能通过shell来实现比较简单。但是我们知道shell脚本语法及其调用的解释器和expect并不相同,将两者直接在同一个脚本文件中顺序使用的话,肯定会报错的。

   这里其实我们可以将expcet命令要执行的一些操作封装到一个shell的函数中,之后再调用执行这个函数,获取其输出信息后,再通过管道符及grep进行过滤等操作。

如下所示,我们将使用expcet命令自动输入密码并执行display version命令获取交换机版本信息,并使用grep命令让其只输出以Quidway开头的那一行内容



执行效果如下所示:




Chen

健康 · 开心 · 做自己

文章评论

  • aa

    我发现这个脚本执行完回显以后,会有比较长时间占用终端,请问可以加速释放终端吗? :?:

    2018年12月27日
    • zcy

      回显以后占用终端?不是很理解什么意思?

      2018年12月29日
  • free

    非常感谢,提供了一种新的思路

    2019年05月08日
    • zcy

      哈哈,共同进步~

      2019年06月05日