Bash Autocomplete in SSH-Sitzung

9

Es scheint, dass bash keine Befehle automatisch vervollständigen möchte (was mich im Moment nervt, ist nicht das automatische Vervollständigen von apt-get), wenn ich von SSH auf meinem Computer angemeldet bin. Gibt es eine Einstellung, die es Bash ermöglicht, innerhalb einer SSH-Sitzung automatisch zu vervollständigen?

Falmarri
quelle

Antworten:

7

Kurz gesagt: source /etc/bash_completionsollte den Trick machen (in der Shell innerhalb der SSH-Sitzung ausführen).

Lange Geschichte: Damit die Bash-Vervollständigung funktioniert, müssen Sie erklären, bashwie die Argumente der einzelnen Befehle vervollständigt werden. Dies erfordert eine lange Folge von Aufrufen des basheingebauten Befehls complete. Daher werden sie normalerweise in einem separaten Skript (oder mehreren in /etc/bash.complete.d/*) gesammelt, das sie alle lädt.

Als regelmäßiger Shell - Skript, können Sie immer die Last bash_completionin jedem Shell - Startskript ( ~/.bash_profile, ~/.bash_login, ~/.bashrc)

Weiterführende Literatur:

  • Abschnitt Programmierbare Vervollständigung in der Manpagebash(1)
  • Hilfetext für den completeBefehl (run: help completein bash)
Riccardo Murri
quelle
Großartig, das funktioniert. Können Sie erklären, warum Sie das tun müssen? Was ist mit einer SSH-Sitzung? Bash mag keine automatische Vervollständigung. Gibt es eine Möglichkeit, dies für jede SSH-Sitzung zu tun? Zumindest für einen bestimmten Benutzer (mich)?
Falmarri
@ Falmarri aktualisierte Antwort mit mehr Infos; Beantwortet dies Ihre weiteren Fragen?
Riccardo Murri
Ah, das macht Sinn, ja
Falmarri