New in version 2.0.
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.