Ниже приведен сценарий ожидания, который я создал, однако, когда узел становится недоступным, он отображает ошибки на экране, как показано ниже.Я пытаюсь заставить скрипт не показывать ошибки вывода и переходить к следующему хосту в цикле
Это ожидаемый скрипт
#!/usr/bin/expect -f
#Argument passed from 1st script to here, and loops with expect script
set HOST [lindex $argv 0]
foreach host $HOST {
set timeout 10
global spawn_id
spawn ssh $HOST
expect {
"Password:" {send "password\r"}
"*No route to host"
{puts "Host error -> $expect_out(buffer)";exit}
"ssh_exchange_identification: Connection closed by
remote host"
{puts "Host error -> $expect_out(buffer)";exp_continue}
}
expect "*~ $"
#Log into Switch
send "ssh user@x.x.x.x\r"
expect "RSA key fingerprint" {send "yes\r"; exp_continue}
expect "Password:"
send "password\r"
expect eof
}
И это вывод, показанный, когда хостнедоступен
send: spawn id exp4 not open
while executing
"send "ssh user@x.x.x.x\r""
("foreach" body line 12)
invoked from within
"foreach host $HOST {
set timeout 10
global spawn_id
log_user 0
spawn ssh $HOST
expect "Password:"
send "password\r"..."
(file "/path/to/file/expect_script.sh" line 6)
Любая помощь будет принята с благодарностью.