Wenn ich einen Befehl auf dem Terminal eingebe, funktioniert die automatische Vervollständigung des Terminals manchmal nicht, auch wenn mein Befehl nicht falsch ist.
Schauen Sie sich zum Beispiel Folgendes an: sudo service vsftpd status
sudo und service haben keine Probleme. Ich meine, wenn Sie sud + tabterminal eingeben, schlagen Sie sudo vor, oder wenn Sie servi + tabterminal eingeben, vervollständigen Sie das zu service . Aber für vsftpd bekomme ich keinen Vorschlag. Gibt es eine Möglichkeit zu sagen: "Terminal, bitte sag mir einen Vorschlag !!?".
quelle
sudo systemctl
(Status oder Stopp)lightd
(TAB / Double TAB) ( Dies bedeutet, dass Sie 'lightdm.service' abgeschlossen haben, vorausgesetzt, Sie haben es installiert - aktiv / aktiv oder nicht)/etc/init.d
. Ich habe das gleiche Problem auch bei anderen Diensten festgestellt. Es gibt auch einen Fehler (?), Durch den die Fertigstellung viel Zeit in Anspruch nimmt. Gesehen sitzt es 10+ Sekunden vor dem Piepen bei mir / nicht gefunden. github.com/systemd/systemd/issues/7185Wenn es mehrere mögliche Vorschläge gibt, tabwird kein Vorschlag erstellt. Mit tab tab(Doppel-Tab) wird eine Liste aller möglichen Vorschläge erstellt.
quelle
sudo service vsftpd status
ist vsftpd ein Dienstparameter und wird daher nicht mit einem doppelten Tabulator gefunden. Das OP ist zu diesem Zeitpunkt korrekt.apache2
undnetworking
automatisch vervollständigen . Wie unterscheiden sie sich?sudo service networking tab tab
wird anbietenforce-reload reload restart start stop
. Es funktioniert also noch besser als ich dachte.vsftpd hat wahrscheinlich mehr als 1 Option. tabzweimal, um die Möglichkeiten anzuzeigen.
Beispiel:
li
mit tabtabShows:quelle
Sie können Ihre eigenen bauen!
ZB:
complete -f -r -c su -d 'Username' -a '(cat /etc/passwd|cut -d : -f 1)'
in Bash setzen, als wenn Sie habensu
und Tab / Tab drücken, gibt es Ihnen alle Benutzer, ja. Sehen Sie hierquelle
Ich habe festgestellt, dass
systemctl list-units --full --all
deaktivierte Dienste nicht aufgelistet werden, die automatische Vervollständigung also nichtquelle
Der Befehl services basiert auf "systemctl list-units --full --all" und listet keine Dienste auf, die nicht gestartet (oder wie oben deaktiviert) werden können, um zu überprüfen, ob dieses Problem auftritt, das Sie ausführen können
quelle