У меня есть сценарий ожидания, который я использую для ssh. Некоторые из моих хостов запрашивают текст ключа хоста RSA, а некоторые нет. Как я могу настроить свой скрипт для if/then в expect. Вот что у меня есть до сих пор.
#!/usr/bin/expect -f
set ipaddress [lindex $argv 0];
spawn ssh user@$ipaddress
expect "Are you sure you want to continue connecting (yes/no)?"
send "yes\r"
expect "user@$ipaddress's password:"
send "password\r"
set prompt {\$ $}
expect -re $prompt
send "$command\r"
expect -re $prompt
send "quit\r"
interact
Часть, которую мне нужно построить в логике if/then, это две строки:
expect "Are you sure you want to continue connecting (yes/no)?"
send "yes\r"
Логический поток будет таким:
if expect "Are you sure you want to continue connecting (yes/no)?"
then send "yes\r"
else
expect "user@$ipaddress's password:"
etc..
Как я могу это сделать?
exp_continue
не в том месте: он должен быть в блоке вы уверены. Потому что в обоих случаях вы должны ввести пароль. 23.07.2016