Czasami, gdy wpisuję polecenie na terminalu, autouzupełnianie terminala nie działa, nawet jeśli moje polecenie nie jest złe.
Na przykład spójrz na to: sudo service vsftpd status
sudo i serwis nie mają żadnych problemów. To znaczy, po wpisaniu sud + tabzacisk proponujemy sudo albo wpisuję servi + tabCOMPLETE terminal, który na służbie . Ale dla vsftpd nie otrzymuję żadnych sugestii. Czy istnieje sposób na powiedzenie „terminalu, powiedz mi jakąkolwiek sugestię !!?”.
źródło
sudo systemctl
(status lub stop)lightd
(TAB / Double TAB) ( Oznacza to kompletne „lightdm.service”, zakładając, że masz zainstalowane - aktywne / uruchomione lub nie) Ten svc jest zarówno w jednostkach wyjściowych, jak i/etc/init.d
na mojej maszynie. Znalazłem ten sam problem również w innych serwisach. Istnieje również błąd (?), Który powoduje, że ukończenie zajmuje dużo czasu. Widziałem, jak siedział ponad 10 sekund, zanim zaczął piszczyć do mnie / nie znaleziono. github.com/systemd/systemd/issues/7185Gdy istnieje wiele możliwych sugestii, tabnie spowoduje to żadnych sugestii. Użycie tab tab(podwójna karta) spowoduje wyświetlenie listy wszystkich możliwych sugestii.
źródło
sudo service vsftpd status
vsftpd jest parametrem usługi, dlatego nie można go znaleźć z podwójną kartą. W tym momencie OP jest poprawny.apache2
inetworking
autouzupełnianie. Czym się różnią?sudo service networking tab tab
zaoferujeforce-reload reload restart start stop
. Działa to nawet lepiej niż myślałem.vsftpd ma prawdopodobnie więcej niż 1 opcję. tabdwa razy, aby zobaczyć możliwości.
Przykład:
li
z tabtabpokazami:źródło
Możesz zbudować własny!
Np .: włóż się
complete -f -r -c su -d 'Username' -a '(cat /etc/passwd|cut -d : -f 1)'
w bash niż jeśli maszsu
i naciśnij tab / tab, to daje wszystkim użytkownikom, tak. Zobacz tutajźródło
Znalazłem, że
systemctl list-units --full --all
nie ma listy wyłączonych usług, więc autouzupełnianie nieźródło
Polecenie services opiera się na „systemctl list-units --full --all” i nie wyświetla usług, które nie mogą zostać uruchomione (lub wyłączone jak wyżej), aby potwierdzić, czy występuje ten problem, możesz uruchomić
źródło