如何使用TCL脚本自动化控制台方案?

时间:2014-06-17 17:42:06

标签: tcl expect

我想自动执行以下方案:

  1. 登录路由器
  2. 重新加载
  3. 重新加载路由器时,请连续按ESP键。
  4. 当按下ESP键时,启动>提示会来。执行一些命令。
  5. 我可以使用“Teraterm”和控制台手动完成上述操作。但是如何在TCL脚本中执行此操作。

    请帮我这样做。

    谢谢, Balu P。

2 个答案:

答案 0 :(得分:1)

您首先需要找到一个可以发出命令的交互式控制台程序。您可能会发现PuTTY套件中的plink.exe是合适的。系统telnet.exe不合适,因为它上面设置了一个特殊的标志来防止自动化,TeraTerm不适合,因为它是一个GUI程序,据我所见(GUI程序自动化非常很难说,如果有更简单的方法,你可能不想这么做。)

一旦您可以以交互方式完成任务,请将其插入到expect脚本中。这是相当直接的。

  1. spawn开始,使程序运行并传入连接到其他系统所需的参数。
  2. 与远程系统交互。
    1. 使用expect收听合适的提示。 (请记住,这可能包括提示输入用户名和密码!)
    2. 告诉它如何处理send。请记住, \r 是您发送返回的方式。
  3. 完成后,close
  4. 当然,当你处理条件,错误条件和超时时,事情变得更加复杂; expect可以处理这些问题,但代码有点复杂。一旦你遇到具体的问题,我们可以帮你解决另一个问题。

答案 1 :(得分:1)

我使用控制台服务器来自动执行此操作。工作正常