从expect脚本导出数据

时间:2014-04-14 11:37:38

标签: bash automation telnet expect

所以我写了一个简短的期望脚本,它通过telnet登录到APC配电单元接口并轮询当前的电流。

    #!/usr/bin/expect
    set ip "192.168.0.1"
    set username "myusername"
    set password "mypassword"
    spawn "/bin/bash"
    send "telnet $ip\r"
    expect "*User Name*"
    send "$username\r"
    expect "*Password*"
    send "$password\r"
    expect "*APC*"
    send -- "phReading all current\r"
    expect "*Success*"
    send  "quit\r"
    expect eof

脚本完成它的工作,我在屏幕上看到放大器,显示如下:

    apc>phReading all current
    E000: Success
    1: 7.5 A
    apc>quit

我需要做的是将7.5的数据“导出”到文本文件或将其作为变量传递给bash脚本。

关于我如何做到这一点的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

Expect是TCL的扩展,因此您可以访问所有TCL的构造。

如果我是你,我会将expect脚本直接写入文件。

请参阅此处的“编写文件”部分:http://wiki.tcl.tk/367。它有一个简单的例子。在您的情况下,您将要打开文件以追加(a)而不是写(w)。

打开命令文档:http://www.tcl.tk/man/tcl8.6/TclCmd/open.htm

让我知道这对你有用。