bash-завершення додає завершення для:
- Назви команд після
sudo
таwhich
- Імена пакетів Macports та Homebrew (необов’язково)
- Імена хостів
known_hosts
для таких командssh
- Папки на
CDPATH
І так далі. Ви можете роздрукувати список команд для завершення complete -p
та побачити джерело функції за допомогою declare -f
.
Встановлення Homebrew або MacPorts та Bash
По-перше, вам слід встановити Homebrew або MacPorts відповідно до інструкцій. Примітка. Не встановлюйте обох, оскільки вони конфліктують.
Потім встановіть нову версію Bash. Вбудований Bash в OS X трохи старий, і ви отримаєте більше варіантів завершення за допомогою Bash> 4.1, через які ви можете пройти
brew install bash
або
sudo port install bash
залежно від того, використовуєте ви Homebrew або MacPorts.
Встановлення базового завершення за допомогою Homebrew
Щоб встановити bash-completion
, ви повинні:
brew install bash-completion
І додайте до свого ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
На даний момент Homebrew встановлює старішу версію bash-завершення (1.3), яка все ще працює з Bash 3.x, але все ж рекомендується використовувати Bash 4.x.
Встановлення bash-завершення з MacPorts
З MacPorts:
sudo port install bash-completion
Потім додайте до свого ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Див. Trac.macports.org/wiki/howto/bash-completion для інструкцій, як увімкнути завершення імен портів.
bash-completion
забезпечує підтримку заповнення імен пакунків як додаткових аргументів післяport <verb>
. Дивіться тут , рядки 48-58. На таку поведінку натякають у вікі MacPorts , де сказано: " Це не лише для файлів і каталогів, але також, наприклад, для командport
. Отже, ви вводитеport <Tab>
і отримуєте список усіх можливих команд. ", Хоча це лише явно згадує. завершення дієслів (що набагато простіше).