A w jaki sposób automatycznie uzupełnia aliasy?
A w jaki sposób automatycznie uzupełnia aliasy?
Odpowiedzi:
W zależności od polecenia:
/etc/bash_completion.d/*(lub innej lokalizacji w niektórych systemach). Funkcje te są zarejestrowane z wbudowaną (np mówi bash do wywołania funkcji po naciśnięciu na komendę). Używają wbudowanego, aby powiedzieć bashowi „oto możliwe uzupełnienia”.complete complete -F _find find_findTabfindcompgen--helpi przeanalizuje dane wyjściowe. Takie polecenia można zarejestrować za pomocą completewbudowanego, np complete -F _longopt ls. _longoptjest w rzeczywistości funkcją generowania zakończenia, która zdarza się analizować dane wyjściowe polecenia, a nie korzystać ze stałej listy. (Istnieją inne bardziej wyspecjalizowane funkcje uzupełniania, które analizują dane wyjściowe polecenia w celu wygenerowania możliwych uzupełnień; poszukaj /etc/bash_completion.d/*przykładów.)completeWbudowaną posiada opcje, które, na przykład -Adla aliasów.Wsparcie dla ukończenia bash jest dostępne w Debianie i Ubuntu dzięki pakietowi bash . Zazwyczaj musisz również odkomentować następujące elementy /etc/bash.bashrci / lub .bashrcuzyskać pliki ukończenia bash. Poniższe pochodzi z /etc/bash.bashrc:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
aby to zadziałało. Zazwyczaj nie lubię tego w obu przypadkach. Obsługa interaktywnych / loginowych powłok w Debianie jest trochę bałaganu.
Podobne komentarze przypuszczalnie dotyczą innych dystrybucji, choć może domyślnie włączają pozyskiwanie.