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