expect module executes a command and responds to prompts.$HOME and operations like "<", ">", "|", and "&" will not work.The below requirements are needed on the host that executes this module.
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| chdir path | Change into this directory before running the command. | |
| command - / required | The command module takes command to run. | |
| creates path | A filename, when it already exists, this step will not be run. | |
| echo boolean |
| Whether or not to echo out your response strings. |
| removes path | A filename, when it does not exist, this step will not be run. | |
| responses dictionary / required | Mapping of expected string/regex and string to respond with. If the response is a list, successive matches return successive responses. List functionality is new in 2.1. | |
| timeout integer | Default: 30 | Amount of time in seconds to wait for the expected strings. Use null to disable timeout. |
Note
<, >, |, etc), you must specify a shell in the command such as /bin/bash -c "/path/to/something | grep else".?i.See also
- name: Case insensitive password string match
expect:
command: passwd username
responses:
(?i)password: "MySekretPa$$word"
# you don't want to show passwords in your logs
no_log: true
- name: Generic question with multiple different responses
expect:
command: /path/to/custom/command
responses:
Question:
- response1
- response2
- response3
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/expect_module.html