预期脚本太快:在从文件读取的每一行之间添加睡眠

2le*_*uit 5 scripting linux bash switch expect

我正在尝试自动化开关命令。这几乎一切都很好,但是当期望脚本从包含我的 switch 命令的文件中读取每一行(逐行列出)时,开关似乎在大约 10 或 15 个命令后停止,我认为缓冲区太小了。

如何在从文件读取的每个命​​令之间添加睡眠?谢谢!!

set fp [open "/home/room.txt" r]
set data [read $fp]

set timeout -60
spawn telnet 10.91.60.14
match_max 100000
sleep 2
expect *
send -- "^Y"
sleep 2
send -- "password\r"
sleep 2
send -- "^[\[A"
send -- "^[\[A"
send -- "\r"
sleep 1
send -- "enable\r"
send -- "configure terminal\r"
sleep 1
expect *
sleep 2
**send -- "$data"**
sleep 2
interact
Run Code Online (Sandbox Code Playgroud)

thr*_*rig 1

使用while循环:

set fp [open "datfile"]
while {[gets $fp line] >= 0} {
  puts $line
  #sleep 3
  # but better to wait for the prompt
  expect #
}
Run Code Online (Sandbox Code Playgroud)