Ожидайте сценарий, который вводит имя пользователя и пароль
Я пытаюсь запустить сценарий ожидания, каждый раз, когда в приглашении говорится пароль пользователя @blah, он вводит пароль. У меня есть следующий сценарий ожидания, но, похоже, он работает.
Может кто-нибудь сказать мне, что я делаю не так? Это приглашение появляется несколько раз по команде, которую я запускаю, поэтому мне нужно каждый раз вводить пароль, оно видит пароль пользователя @blah.
#!/usr/bin/expect
global env
set timeout 10
spawn command that requires password
expect "^user"
send "password\r"
Пожалуйста и спасибо.
1 ответ
Решение
Просто сравнивая последний бит с другим примером, который я видел:
spawn ssh root@$ipaddr $scriptname $arg1
match_max 100000
expect "*?assword:*"
send -- "$password\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof
Их синтаксис отправки кажется немного другим. И они также позволяют довольно либеральное регулярное выражение. У последних битов тоже могут быть ответы.