【发布时间】:2011-09-07 10:49:34
【问题描述】:
期待脚本“testscript2”:
#!/usr/bin/expect 设置主机列表 [打开 ./host_list] 设置 ipaddrs [读取 $hostlist] foreach 行 [拆分 $ipaddrs \n] { spawn scp id_dsa.pub root@$line:~/.ssh 设置通行证“abc123” 预计 { “是/否” {发送“是\r”} 密码:{发送“$pass\r”; exp_continue} } }除了这些恼人的错误对文件传输的结果没有影响之外,上述工作正常:
./testscript2 spawn scp id_dsa.pub root@lsvm-nagios1:~/.ssh id_dsa.pub 100% 20 0.0KB/s 00:00 spawn scp id_dsa.pub root@:~/.ssh ssh: : 名称或服务未知 失去了连接正如您在上面看到的那样,传输发生了,但在 host_list 中没有更多服务器名称后,for 循环会额外重复一次。我认为发生的事情是最后一次 for 循环迭代它看到 exp_continue 语句,并且由于 host_list 中没有更多的服务器名称,它会引发该错误。因此是“root@:~”。
【问题讨论】:
标签: expect