Bash 自動補齊 on Mac OSX 10.11.1
曾有人問起凍仁是怎麼熟記各個 GNU/Linux 指令的?成千上萬個指令記也記不完,更別說還有 Mac OSX (以下簡稱 OSX)、Windows 跟各式的網路設備。除了常用、把指令融入生活外,凍仁還會在 Bash 開啟自動補齊 (completion) 功能來輔助操作。
自動補齊 (completion) 說穿了就是一直在 Bash 裡按 Tab 來取得指令和檔案結構的提示,這點也適用 OSX 上的 Shell 喔!
1. 安裝 bash-completion 套件 (使用 zsh 的伙伴請改用 zsh-completion)。
2. 自動載入 bash-completion 設定。
3. 除了 bash-completion 以外,我們還能藉由擴充 Homebrew-completions 來取得各式的自動補齊 scripts。
4. 接下來就看用到哪裝到哪,最好可以走到哪補齊到哪。
5. 重開終端機 (Terminal) 即可套用。
Bash 自動補齊可是要成為命令列大師必點的技能,下次在終端機裡迷路時不妨多按幾下 Tab 唄!
話說 AWS 官方似乎也有提供 aws-cli 的 Command Completion scripts,等玩過再回來分享了。
當參考 Installing the AWS Command Line Interface - AWS Command Line Interface 一文裝好 aws-cli 後,我們就可以在 bashrc 載入以下設定來啟用 aws-cli 的自動補齊功能了。
homebrew 裡的 docker-completion 不太好用,建議直接使用 docker 官方的 completion script。
1. 下載 docker-completion script。
2. 安裝 docker-completion。
自動補齊 (completion) 說穿了就是一直在 Bash 裡按 Tab 來取得指令和檔案結構的提示,這點也適用 OSX 上的 Shell 喔!
▲ Bash 自動補齊火力展示。 |
1. 安裝 bash-completion 套件 (使用 zsh 的伙伴請改用 zsh-completion)。
[ jonny@el_capitan ~ ]
$ brew install bash-completion [Enter]
2. 自動載入 bash-completion 設定。
[ jonny@el_capitan ~ ]
$ vim ~/.bashrc [Enter]
... # Enable the bash completion. # - GNU/Linux. if [ -f /etc/bash_completion ] && ! shopt -oq posix; then . /etc/bash_completion fi # - Mac OS X (homebrew). if [ "$(uname)" == "Darwin" ]; then if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi fi
3. 除了 bash-completion 以外,我們還能藉由擴充 Homebrew-completions 來取得各式的自動補齊 scripts。
[ jonny@el_capitan ~ ]
$ brew tap homebrew/completions [Enter]
4. 接下來就看用到哪裝到哪,最好可以走到哪補齊到哪。
[ jonny@el_capitan ~ ]
$ brew install homebrew/completions/docker-machine-completion \
homebrew/completions/django-completion \
homebrew/completions/pip-bash-completion \
homebrew/completions/rake-completion \
homebrew/completions/ruby-completion [Enter]
5. 重開終端機 (Terminal) 即可套用。
Bash 自動補齊可是要成為命令列大師必點的技能,下次在終端機裡迷路時不妨多按幾下 Tab 唄!
話說 AWS 官方似乎也有提供 aws-cli 的 Command Completion scripts,等玩過再回來分享了。
2015-12-03
當參考 Installing the AWS Command Line Interface - AWS Command Line Interface 一文裝好 aws-cli 後,我們就可以在 bashrc 載入以下設定來啟用 aws-cli 的自動補齊功能了。
[ jonny@el_capitan ~ ]
$ vim ~/.bashrc [Enter]
...
# AWS CLI
if [ -f "/usr/local/bin/aws_completer" ] ; then
complete -C '/usr/local/bin/aws_completer' aws
fi
2015-12-24
homebrew 裡的 docker-completion 不太好用,建議直接使用 docker 官方的 completion script。
1. 下載 docker-completion script。
[ jonny@el_capitan ~ ]
$ wget https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker
2. 安裝 docker-completion。
[ jonny@el_capitan ~ ]
$ mv docker /usr/local/etc/bash_completion.d/
延伸閱讀:
★ 成為 GNU/Linux 命令列達人的七種武器
★ [完全用 GNU/Linux 工作] 09. Hacking Bash
相關連結:
★ Homebrew/homebrew-completions
★ ekalinin/pip-bash-completion
資料來源:
★ Install Bash git completion · bobthecow/git-flow-completion Wiki
docker官方的路徑改成這樣了
回覆刪除https://github.com/docker/cli/blob/master/contrib/completion/bash/docker
Thanks for your feedback. :D
刪除