Ожидать, что скрипт не работает и терминал закрывается немедленно - PullRequest
1 голос
/ 08 апреля 2020

Я не знаю, что не так со сценарием. Я установил новый профиль на терминале Iterm для запуска скрипта, но он никогда не работает и сразу закрывается. Вот сценарий:

#!/usr/bin/expect -f

set timeout 120
set secret mysecret
set username asdf
set host {123.456.789.010}
set password password123
log_user 0

spawn oathtool --totp --base32 $secret
expect -re \\d+
sleep 400
set otp $expect_out(0,string)

spawn ssh -2 $username@$host
expect "*assword:*"
send "$password\n"
expect "Enter Google Authenticator code:"
send "$otp\n"
interact

1 Ответ

0 голосов
/ 08 апреля 2020

Сначала проверьте соединение s sh с:

ssh -v <auser>@<apassword> 

Это подтвердит работу сеанса S SH.
Убедитесь, что вы не используете ssh -T ..., так как вам может понадобиться терминал для expect команд для работы.

Во-вторых, добавьте хотя бы echo в начале скрипта, чтобы увидеть, вызывается ли он:

puts "Script running\r"

В-третьих, посмотрите, будет ли лучше работать сценарий bash с частью , использующим ожидаемое, как здесь ,

...