Note
This module is part of ansible-core
and included in all Ansible installations. In most cases, you can use the short module name script
even without specifying the collections:
keyword. However, 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/latest/collections/ansible/builtin/script_module.html