Следующий код не работает, но я хочу ответить "n" всякий раз, когда YUM спрашивает, хочу ли я установить программное обеспечение или нет. Спасибо

#!/usr/bin/expect -f

spawn yum install emacs
expect "Is this ok \[y\/N\]:"
send "n\r"

3 ответа3

2

Начиная с вашего фрагмента кода, это то, что я должен работать

#!/usr/bin/expect -f

expect -c  "
    set timeout 15
    spawn yum install emacs

    expect {
        "]:"        { send n\r ; sleep 1 ; exp_continue  } 
    }
"

это также работает с #!/bin/bash наверху

1

С ням справочной страницы:

-y, --assumeyes
    Assume yes; assume that the answer to any question which would be asked is yes.
    Configuration Option: assumeyes

Так что просто используйте yum -y вместо того, чтобы возиться с expect .

0

изменить expect "Is this ok \[y\/N\]:"

в

ожидать "]:"

вы получаете ту же ошибку? если это не опечатка в вашем ожидании.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .