Jump to content

Bash programming/Bash command-line completion

From Wikiversity

Support for bash completion feature is provided in Debian and Ubuntu distribution by the bash completion package. Once installed you also usually need to uncomment the following in /etc/bash.bashrc and/or .bashrc files to source the bash completion files. The following example is from /etc/bash.bashrc[1]:

# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi

MacOS also support autocompletion in bash[2], create or add the following lines to file: ~/.inputrc

set completion-ignore-case on
set show-all-if-ambiguous on
TAB: menu-complete

If you need autocompletion for your ssh hostname, you should modify your ~./.bash_profile file [3], using the builtins complete and compgen commands or install bash-completion package.


  1. https://unix.stackexchange.com/questions/12356/how-does-tab-auto-complete-find-options-to-complete
  2. https://timleland.com/how-to-enable-autocomplete-in-mac-terminal/
  3. https://unix.stackexchange.com/questions/136351/autocomplete-server-names-for-ssh-and-scp