Kiedy jestem tab tab _w terminalu, Bash sugeruje 206 możliwości. Próbowałem uruchomić jedną z nich, _git_rmale nic się nie stało, czym one są?
Oto zrzut ekranu:

Kiedy jestem tab tab _w terminalu, Bash sugeruje 206 możliwości. Próbowałem uruchomić jedną z nich, _git_rmale nic się nie stało, czym one są?
Oto zrzut ekranu:

Odpowiedzi:
Funkcje, których nazwa zaczyna się od znaku podkreślenia, są częścią programowalnego silnika uzupełniania. Bash postępuje zgodnie z konwencją zsh, w której wywoływana somecommandjest funkcja generująca uzupełnienia _somecommand, a jeśli funkcja ta wymaga funkcji pomocniczych, są one wywoływane _somecommand_stuff.
Te funkcje uzupełniania zwykle nie robią nic użytecznego ani nie zgłaszają błędu, jeśli wywołasz je ręcznie: mają być wywoływane z silnika uzupełniania.
Wynika to z dość powszechnej praktyki w różnych językach programowania, aby używać wiodącego znaku podkreślenia, aby wskazać, że funkcja lub zmienna jest w jakiś sposób wewnętrzna w bibliotece i nie jest przeznaczona dla użytkownika końcowego (lub programisty końcowego).
type _git_rmprawdopodobnie powie ci, że jest to funkcja.grep -R '_git_rm' /etc/bash_completion.d/prawdopodobnie to znajdzie. Te funkcje to zwykle te, które zapewniają różne listy ukończeń dobashuzupełnienia.