在循环调用expect的时候使用如下代码报错:
while true
do
spawn ssh root@1.1.1.1
expect "*password:"
send "**\r"
expect "*#"
send "exit\r"
interact
done
运行的时候报如下错:
wrong # args: should be "while test command"
后来查阅资料的时候,expect 用的是tcl语法,不是shell语法,所以这边循环调用的时候就会有问题:
set p_loop 100
while { $p_loop } {
do
spawn ssh root@1.1.1.1
expect "*password:"
send "**\r"
expect "*#"
send "exit\r"
interact
}
在expect中的循环调用法可以参考:https://www.cnblogs.com/iloveyoucc/archive/2012/06/17/2552553.html