При выполнении приведенного ниже кода он не выполняется в соответствии с первым пунктом, в который я отправляю команду df -h
.В то время как второе предложение, которое является условием сброса пароля, работает нормально.
#!/usr/bin/expect
set ip [lindex $argv 0]
spawn ssh anshm@$ip
set timeout 10
match_max 40000
exp_internal -f debug_info.log 0
expect "*word"
send "5t6y%T^Y\n"
expect {
"localhost*$" {
send "df -h\r"
expect eof
}
"(curr*assword:" {
send "5t6y%T^Y\r"
expect "*word"
send "7u8i&U*I\r"
expect "*word"
send "7u8i&U*I\r"
expect eof
}
}
Отладочная информация ниже:
1034h[anshm@localhost ~]$ " (spawn_id exp4) match glob pattern "localhost*$"? no
"(curr*assword:"? no
expect: timed out
Если вы видите последнюю строку, то этот "localhost * $" появляется вбуфер по-прежнему показывает соответствие NO, а затем время ожидания.