.. _command: command `````````````````````````````` The 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 ``$HOME`` and operations like ``"<"``, ``">"``, ``"|"``, and ``"&"`` will not work. As such, all paths to commands must be fully qualified .. raw:: html
parameter | required | default | choices | comments |
---|---|---|---|---|
creates | no | a filename, when it already exists, this step will not be run. | ||
free_form | yes | the command module takes a free form command to run | ||
chdir | no | cd into this directory before running the command (added in Ansible 0.6) | ||
removes | no | a filename, when it does not exist, this step will not be run. (added in Ansible 0.8) |
Example from Ansible Playbooks
command /sbin/shutdown -t now
creates, removes, and chdir can be specified after the command. For instance, if you only want to run a command if a certain file does not exist, use this.
command /usr/bin/make_database.sh arg1 arg2 creates=/path/to/database
If you want to run a command through the shell (say you are using <
, >
, |
, etc), you actually want the shell module instead. The command module is much more secure as it's not affected by the user's environment.