2017-01-17 4 views
0

Есть ли способ проверить каждое условие ожидания с помощью цикла и иметь инструкции if?ожидать сценарий как проверить условия

#!/usr/bin/expect 
spawn telnet 10.10.10.10 
set timeout 200000000 
expect "login" 
send "user\r" 
expect "Password:" 
send "password\r" 
send "./run/this.sh\r" 
/* 
Here is where I'm confused 
*/ 

if[ "expect" = "close" ] 
then 
    send "exit\r" 
elif[ "expect" = "end" ] 
    send "exit\r" 
fi 
+0

Вы могли использовать мою нижнюю логику? – Inian

+0

Если мое решение помогло вам решить проблему, оставьте ответ одобренным! благодаря! – Inian

+0

Обратите внимание, используйте 'set timeout -1' для отключения таймаута. Если вы специально не хотите ждать ответа до 2314,8 дней. –

ответ

2

if-elsif условный expect что-то, как показано ниже для вашего случая. Вы в буквальном смысле делаете одно и то же действие для обоих случаев, но вот как это делается.

expect { 
    "close" { 
    send "exit\r" 
    } 
    "end" { 
    send "exit\r" 
    } 
}