[英]Pulling data off of a telnet connection while simultaneously running shell script
我正在尝试编写一个测试脚本,该脚本将通过telnet访问被测设备,同时运行可自动执行测试其他部分的Shell脚本。 自动化部分已经完成,但是在测试运行时正确打开telnet连接并保存数据时遇到了问题。
以下是我的测试Shell脚本及其引用的期望脚本
#! /bin/bash
declare -r telnetip=1.1.1.2
declare -r username=root
declare -r filename=telnettest.txt
declare -r runTime=10
./telnet.exp $telnetip $username $filename $runTime #telnet script
./tot.sh #automation script
#! /usr/bin/expect -f
set base_dir [lindex $argv 0]
set user [lindex $argv 1]
set filename [lindex $argv 2]
set delay [lindex $argv 3]
spawn telnet
expect "telnet> "
send "open $base_dir\r"
expect "Trying 1.1.1.2..."
expect "Connected to 1.1.1.2"
expect "Escape character is '^]'. "
expect "soc1 login:"
send "$user\r"
sleep 2
expect "*$*"
send "<data access command>\r" > $filename
sleep delay+5
运行以上命令时出现此错误:
usage: send [args] string
while executing
"send "<data access command>\r" > $filename"
(file "./telnet.exp" line 18)
我最后一次尝试Unix是在14年前,所以我确定自己做错了事。
您正在混合shell并期望语法。 你需要:
log_file $filename
send "<data access command>\r"
sleep [expr {$delay+5}]
但是您的目标尚不清楚。 “同时”脚本在哪里?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.