需要预期脚本的帮助

时间:2013-04-18 11:39:44

标签: tcl expect

我正在尝试实现一个特定的期望脚本我有一个txt文件..

它包含

等数据
1 ip telnetname slot1 slot2 assoc1 assoc2 mep1 mep2
2 ip telnetname slot1 slot2 assoc1 assoc2 mep1 mep2

我想制作一个期望脚本,对于文件中的每一行,它产生一个telnet会话,其中的变量设置在第1行的spawn telnet之类的行中,每个单词中的1个作为变量集,稍后在命令中使用

这是我到目前为止所尝试的

foreach ip $ips telnetname $telnetnames slot1 $slots1 slot2 $slots2  { commands here }

1 个答案:

答案 0 :(得分:0)

目前还不清楚你要从你的描述中做些什么,但最简单的方法就是让你的代码像这样工作:

# Slurp the data into Tcl; it's not *that* long, is it?
set f [open "inputfile.txt"]
set data [read $f]
close $f

foreach line [split $data "\n"] {
    # Tcl's [scan] is like C's sscanf(), but memory-safe!
    if {[scan $line "%d %s %s %s %s" -> ip telnetname slot1 slot2] != 5} {
        # Not what was expected; skip it!
        continue
    }
    # Now do something with $ip, $telnetname, $slot1 and $slot2 ...
}