Что не так с моим ожидаемым сценарием?

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

Я создал файл в моем домашнем каталоге с именем 'foo', используя:

touch foo

И я создал следующий скрипт, сохраненный как test.exp

#!/usr/bin/expect
spawn rm -i foo
expect "rm: remove regular empty file `foo'?"
send "y\r"

Когда я запускаю скрипт, используя ./test.exp, она порождает команду rm, но, похоже, не отправляет Y и возврат каретки.

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

Что я делаю неправильно?

1 ответ

Решение

Добавьте эту строку после send линия:

expect eof
Другие вопросы по тегам