所以我写了一个简短的期望脚本,它通过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脚本。
关于我如何做到这一点的任何想法?
谢谢!
答案 0 :(得分:1)
Expect是TCL的扩展,因此您可以访问所有TCL的构造。
如果我是你,我会将expect脚本直接写入文件。
请参阅此处的“编写文件”部分:http://wiki.tcl.tk/367。它有一个简单的例子。在您的情况下,您将要打开文件以追加(a)而不是写(w)。
打开命令文档:http://www.tcl.tk/man/tcl8.6/TclCmd/open.htm
让我知道这对你有用。