Shell Plugins — Ansible Documentation

- AnsibleFest
- Products
- Community
- Webinars & Training
- Blog

Documentation

# Shell Plugins

- Enabling shell plugins

- Using shell plugins

Shell plugins work to ensure that the basic commands Ansible runs are properly formatted to work with the target machine and allow the user to configure certain behaviors related to how Ansible executes tasks.

## Enabling shell plugins

You can add a custom shell plugin by dropping it into a `shell_plugins` directory adjacent to your play, inside a role, or by putting it in one of the shell plugin directory sources configured in ansible.cfg.

Warning

You should not alter which plugin is used unless you have a setup in which the default `/bin/sh` is not a POSIX compatible shell or is not available for execution.

## Using shell plugins

In addition to the default configuration settings in Ansible Configuration Settings, you can use the connection variable ansible_shell_type to select the plugin to use. In this case, you will also want to update the ansible_shell_executable to match.

You can further control the settings for each plugin via other configuration options detailed in the plugin themselves (linked below).

- cmd – Windows Command Prompt
- csh – C shell (/bin/csh)
- fish – fish shell (/bin/fish)
- powershell – Windows PowerShell
- sh – POSIX shell (/bin/sh)

See also

About Playbooks

  An introduction to playbooks

Inventory Plugins

  Ansible inventory plugins

Callback Plugins

  Ansible callback plugins

Filters

  Jinja2 filter plugins

Tests

  Jinja2 test plugins

Lookups

  Jinja2 lookup plugins

User Mailing List

  Have a question? Stop by the google group!

irc.freenode.net

  #ansible IRC chat channel