bash-uzupełnianie dodaje zakończenie dla:
- Nazwy poleceń po
sudo
iwhich
- Nazwy pakietów Macports i Homebrew (opcjonalnie)
- Nazwy hostów
known_hosts
dla poleceń takich jakssh
- Foldery włączone
CDPATH
I tak dalej. Możesz wydrukować listę poleceń zakończenia za pomocą complete -p
i zobaczyć źródło funkcji za pomocą declare -f
.
Instalowanie Homebrew lub MacPorts i Bash
Najpierw musisz zainstalować Homebrew lub MacPorts zgodnie z instrukcjami. Uwaga: Nie instaluj obu, ponieważ powodują konflikty.
Następnie zainstaluj nowszą wersję Bash. Wbudowana wersja Bash w OS X jest trochę stara, a dzięki Bash> 4.1 uzyskasz więcej opcji ukończenia
brew install bash
lub
sudo port install bash
w zależności od tego, czy korzystasz z Homebrew czy MacPorts.
Instalowanie bash-complete z Homebrew
Aby zainstalować bash-completion
, musisz:
brew install bash-completion
I dodaj następujące elementy do ~/.bash_profile
:
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
Homebrew obecnie instaluje starszą wersję bash-uzupełniania (1.3), która nadal działa z Bash 3.x, ale nadal zaleca się używanie Bash 4.x.
Instalowanie bash-complete z MacPorts
Z MacPorts:
sudo port install bash-completion
Następnie dodaj do ~/.bash_profile
:
if [ -f /opt/local/etc/profile.d/bash_completion.sh ]; then
. /opt/local/etc/profile.d/bash_completion.sh
fi
Instrukcje dotyczące włączania uzupełniania nazw portów można znaleźć na stronie trac.macports.org/wiki/howto/bash-completion .
bash-completion
Pakiet MacPorts zapewnia obsługę uzupełniania nazw pakietów jako dodatkowe argumenty poport <verb>
. Zobacz tutaj , wiersze 48–58. Takie zachowanie jest wskazane na stronie wiki MacPorts , która stwierdza: „ Nie dotyczy to tylko plików i katalogów, ale także np. Poleceńport
. Więc piszeszport <Tab>
i otrzymujesz listę wszystkich możliwych poleceń. ”, Chociaż tylko wyraźnie wspomina uzupełnienie czasowników (co jest znacznie prostsze).variants.conf
jest to do ukończenia dla samego MacPorts; options.conf definiuje warianty, które mają być ustawiane automatycznie dla wszystkich portów, jak wyjaśniono na połączonej stronie wiki. Dodanie tego wiersza powoduje, że obsługa uzupełniania basha jest włączona, jeśli to możliwe, dla portów, które instalujesz.make
autouzupełnianie, właśnie tego chciałem.