Provide a bash completion on host name, module name and options for ansible.
-
Get the
ansible-completion.bashfile. -
Copy/move the
ansible-completion.bashin yourbash_completion.dfolder (/etc/bash_completion.d,/usr/local/etc/bash_completion.dor~/bash_completion.d). -
Or copy/move it where you want and then load the
ansible-completion.bashfile in your~/.bashrcor~/.profilelike that:source ~/ansible-completion.bash -
Reload your shell with something like
source ~/.bashrcorsource ~/.profile
-
Clone the repo, install bash an auto-completion2 with homebew:
brew install bash bash-completion2 -
Change your terminal bash to a homebrew one by setting the
commandoption to/usr/local/bin/bash -
Add the following code to your
~/.profile:if [ -f $(brew --prefix)/share/bash-completion/bash_completion ]; then . $(brew --prefix)/share/bash-completion/bash_completion fi -
Create a symbolik link for
ansible-completion.bash:
ln -vs ~/soft/ansible-completion/ansible-completion.bash /usr/local/share/bash-completion/completions/ansible
```
Good to know
------------
If the `--module-path` (`-M`) or `--inventory-file` (`-i`) is on the command line, the completion will use it.
For the completion on module name, the completion script build a cache of modules names.<br />
You can set the cache timeout with the environement variable `ANSIBLE_COMPLETION_CACHE_TIMEOUT`, the default value is `120` secondes.
Contributors
-----------
- [ogarcia](https://github.com/ogarcia)
- [pheanex](https://github.com/pheanex) (ansible-* completions)
- [DenKoren](https://github.com/DenKoren)
- [hryamzik](https://github.com/hryamzik)
- [mrqwer88](https://github.com/mrqwer88)
- [wolfgangkarall](https://github.com/wolfgangkarall)