ansible.builtin.command (v2.5.6) — module

Executes a command on a remote node

| "added in version" historical of ansible.builtin"

Authors: Ansible Core Team, Michael DeHaan

stableinterface | supported by core

Install Ansible via pip

Install with pip install ansible==2.5.6

Description

The C(command) module takes the command name followed by a list of space-delimited arguments.

The given command will be executed on all selected nodes. It will not be processed through the shell, so variables like C($HOME) and operations like C("<"), C(">"), C("|"), C(";") and C("&") will not work (use the M(shell) module if you need these features).

For Windows targets, use the M(win_command) module instead.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: return motd to registered var
  command: cat /etc/motd
  register: mymotd
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Run the command if the specified file does not exist.
  command: /usr/bin/make_database.sh arg1 arg2 creates=/path/to/database
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
# You can also use the 'args' form to provide the options.
- name: This command will change the working directory to somedir/ and will only run when /path/to/database doesn't exist.
  command: /usr/bin/make_database.sh arg1 arg2
  args:
    chdir: somedir/
    creates: /path/to/database
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: safely use templated variable to run command. Always use the quote filter to avoid injection issues.
  command: cat {{ myfile|quote }}
  register: myoutput

Inputs

    
warn:
    default: 'yes'
    description:
    - If command_warnings are on in ansible.cfg, do not warn about this particular line
      if set to C(no).
    type: bool
    version_added: '1.8'
    version_added_collection: ansible.builtin

chdir:
    description:
    - Change into this directory before running the command.
    version_added: '0.6'
    version_added_collection: ansible.builtin

stdin:
    default: null
    description:
    - Set the stdin of the command directly to the specified value.
    required: false
    version_added: '2.4'
    version_added_collection: ansible.builtin

creates:
    description:
    - A filename or (since 2.0) glob pattern, when it already exists, this step will B(not)
      be run.

removes:
    description:
    - A filename or (since 2.0) glob pattern, when it does not exist, this step will B(not)
      be run.
    version_added: '0.8'
    version_added_collection: ansible.builtin

free_form:
    description:
    - The command module takes a free form command to run.  There is no parameter actually
      named 'free form'. See the examples!
    required: true

Outputs

cmd:
  description: the cmd that was run on the remote machine
  returned: always
  sample:
  - echo
  - hello
  type: list
delta:
  description: cmd end time - cmd start time
  returned: always
  sample: 0.001529
  type: string
end:
  description: cmd end time
  returned: always
  sample: '2017-09-29 22:03:48.084657'
  type: string
start:
  description: cmd start time
  returned: always
  sample: '2017-09-29 22:03:48.083128'
  type: string