One of the nicest features of the modern shell is built in “completion” support. This allows you to complete commands and their arguments easily without memorizing.
Unfortunately, Mac OS-X bash shell doesn’t have completion feature by default unlike Ubuntu(Debian based Linux OS).
But the good thing is you can easily install the auto-completion by using Homebrew or Macports.
Homebrew is my favorite packaging tool for OS-X, I will be explaining the installation using this tool.
Bash Completion Installation
1. Install bash-completion package using brew
brew install bash-completion
2. Edit the ~/.bash_profile
vi ~/.bash_profile
And add the following code:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
3. Reload the bash shell
source ~/.bash_profile
Now try to type few letters of command and press [TAB], you will see the auto-completed command or auto-suggested commands(for more than one matches). For example:
nets[TAB] ->
netstat
net[TAB] ->
net-server net-server5.18 net-snmp-config net-server5.16 net-snmp-cert net-snmp-create-v3-user
Bonus
You can also install additional completions from Homebrew-Completions
All you have to do is:
brew tap homebrew/completions
brew install <formula>
If you know how to create bash completions, you can create your own file and drop in the folder:
/usr/local/etc/bash_completion.d
After sourcing(loading), your custom completion is ready to take into account.
Please do share/comment on your favorite bash-completion.