Note
This module is part of ansible-base
and included in all Ansible installations. In most cases, you can use the short module name script even without specifying the collections:
keyword. Despite that, we recommend you use the FQCN for easy linking to the module documentation and to avoid conflicting with other collections that may have the same module name.
New in version 0.9: of ansible.builtin
script
module takes the script name followed by a list of space-delimited arguments.cmd
parameter is required, see the examples.Note
This module has a corresponding action plugin.
Parameter | Choices/Defaults | Comments |
---|---|---|
chdir string added in 2.4 of ansible.builtin | Change into this directory on the remote node before running the script. | |
cmd string | Path to the local script to run followed by optional arguments. | |
creates string added in 1.5 of ansible.builtin | A filename on the remote node, when it already exists, this step will not be run. | |
decrypt boolean added in 2.4 of ansible.builtin |
| This option controls the autodecryption of source files using vault. |
executable string added in 2.6 of ansible.builtin | Name or path of a executable to invoke the script with. | |
free_form string | Path to the local script file followed by optional arguments. | |
removes string added in 1.5 of ansible.builtin | A filename on the remote node, when it does not exist, this step will not be run. |
Note
ssh
connection plugin will force pseudo-tty allocation via -tt
when scripts are executed. Pseudo-ttys do not have a stderr channel and all stderr is sent to stdout. If you depend on separated stdout and stderr result keys, please switch to a copy+command set of tasks instead of using script.check_mode
.See also
The official documentation on the ansible.builtin.shell module.
The official documentation on the ansible.windows.win_shell module.
- name: Run a script with arguments (free form) ansible.builtin.script: /some/local/script.sh --some-argument 1234 - name: Run a script with arguments (using 'cmd' parameter) ansible.builtin.script: cmd: /some/local/script.sh --some-argument 1234 - name: Run a script only if file.txt does not exist on the remote node ansible.builtin.script: /some/local/create_file.sh --some-argument 1234 args: creates: /the/created/file.txt - name: Run a script only if file.txt exists on the remote node ansible.builtin.script: /some/local/remove_file.sh --some-argument 1234 args: removes: /the/removed/file.txt - name: Run a script using an executable in a non-system path ansible.builtin.script: /some/local/script args: executable: /some/remote/executable - name: Run a script using an executable in a system path ansible.builtin.script: /some/local/script.py args: executable: python3
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/script_module.html