Provide a bash completion on host name, module name and options for ansible.
-
Get the
ansible-completion.bash
file. -
Copy/move the
ansible-completion.bash
in yourbash_completion.d
folder (/etc/bash_completion.d
,/usr/local/etc/bash_completion.d
or~/bash_completion.d
). -
Or copy/move it where you want and then load the
ansible-completion.bash
file in your~/.bashrc
or~/.profile
like that:source ~/ansible-completion.bash
-
Reload your shell with something like
source ~/.bashrc
orsource ~/.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
command
option 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)