expect - Выполняет команду и отвечает на запросы.
Новая версия 2.0.
Описание
- Модуль
expectвыполняет команду и отвечает на запросы. - Указанная команда будет выполнена на всех выбранных узлах. Она не будет обработана через оболочку, поэтому переменные, такие как
$HOME, и операции, такие как"<",">","|", и"&", работать не будут.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- pexpect >= 3.3
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| chdir | Перейти в этот каталог перед выполнением команды. | |
| command обязательно | Модуль команды принимает команду для выполнения. | |
| creates | Имя файла. Если файл уже существует, этот шаг не будет выполнен. | |
| echo | По умолчанию: "нет" | Выводить или нет строки ответа. |
| removes | Имя файла. Если файл не существует, этот шаг не будет выполнен. | |
| responses обязательно | Сопоставление ожидаемой строки/регулярного выражения и строки для ответа. Если ответ является списком, последовательные совпадения возвращают последовательные ответы. Функциональность списков введена в версии 2.1. | |
| timeout | По умолчанию: 30 | Время ожидания ожидаемых строк в секундах. Используйте null для отключения таймаута. |
Примечания
Примечание
- Если вы хотите запустить команду через оболочку (скажем, вы используете
<,>,|, и т.д.), вы должны указать оболочку в команде, например,/bin/bash -c "/path/to/something | grep else". - Вопрос или ключ в поле responses – это соответствие с регулярным выражением Python. Поиск без учета регистра указывается префиксом
?i. - По умолчанию, если вопрос встречается несколько раз, ответ будет повторяться. Если вам нужны разные ответы для последовательных совпадений вопроса, вместо строки ответа используйте список строк. Функциональность списков введена в версии 2.1.
- Модуль expect предназначен для простых сценариев. Для более сложных потребностей рассмотрите использование кода expect с модулями shell или script. (Пример содержится в документации модуля shell).
Примеры
- name: Case insensitive password string match
expect:
command: passwd username
responses:
(?i)password: "MySekretPa$$word"
- name: Generic question with multiple different responses
expect:
command: /path/to/custom/command
responses:
Question:
- response1
- response2
- response3
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- Matt Martz (@sivel)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/expect_module.html