Как заставить команду ожидания в сценарии программы ожидания ожидать точного соответствия строки

Я хочу знать, как заставить команду expect в сценарии ожидания ожидать совпадения точной строки перед переходом к следующей строке сценария.

Сценарий оболочки Bourne (sh):

#!/bin/sh
#!/usr/bin/expect

spawn ssh -Y localuser@lbblr-tirumala
expect -exact "localuser@lbblr-tirumala's password: "

# replace password with ur own passwd
send "geomax45\r"

# replace the prompt with ur own prompt
expect "localuser@lbblr-tirumala:~$ "

# run application
send "./sample\r"

expect "*Menu*\r
1. print hello world\r
2. print Bye world\r
3. quit\r
enter choice: "
# enter choice 1
send "1\r"
expect "Bye world\r
*Menu*\r
1. print hello world\r
2. print Bye world\r
3. quit\r
enter choice: $"
# enter choice 2
send "2\r"

В приведенном выше коде после ввода 1 код должен ждать, пока на экране не появится строка "Bye world\r......". Но даже несмотря на то, что на экране отображается совсем другая строка, код выполняет следующую строку и вводит вариант 2, чего не должно происходить в соответствии с определением ожидания. Он должен ждать, пока не совпадет полная строка в ожидаемой команде.

Я хочу знать, есть ли какая-либо более строгая команда, которую можно использовать, чтобы ожидать ожидания, пока не произойдет точное совпадение строк. Помогите пожалуйста в этом вопросе

6
задан javaPlease42 12 January 2014 в 20:29
поделиться