繁体   English   中英

同时运行Shell脚本时将数据从telnet连接中拉出

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM