Ich versuche, meine ~/.ssh/config
Datei zu erstellen, um mein Arbeitsleben auf der Serververbindung zu vereinfachen.
In Mavericks funktionierte alles einwandfrei und mit der konnte tabich den Hostnamen mit folgender Datei automatisch vervollständigen:
Host test-host-name
HostName 192.168.1.2
User root
Dieselbe Konfiguration unter Yosemite hat ein anderes Verhalten. Wenn ich ssh t
auf der Shell tabtippe, wird der Hostname nicht automatisch vervollständigt.
Weiß jemand, ob sich in Yosemite etwas geändert hat und jetzt muss ich etwas tun, damit es funktioniert?
yosemite
bash
ssh
configuration
RikyTres
quelle
quelle
[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion
. Könnten Sie erläutern, welche Version (die oder die Ihre) bevorzugt werden soll und warum?Ich gehe davon aus, dass die Shell Ihres Mac bash ist.
Sie müssen den Befehl ssh ausführen, um weitere Informationen zu erhalten
man complete
Vergessen Sie nicht, dass Sie
source
die Datei benötigen, um den neuen Befehl in Ihr Terminal zu laden. oder Sie können diesen Code in .bash_profile einfügenquelle
comp_ssh_hosts=$(awk -F , 'FNR== NR && ! /^#|\[/ {field = $1} FNR != NR && /^Host / {field = $2} {hosts[field]} END {for (host in hosts) {print host}' "$HOME/.ssh/known hosts" "$HOME/.ssh/config")
Aus diesem Artikel auf MacWorld .
Kopieren Sie Folgendes, und fügen Sie es ein in
~/.bash_profile
:Anschließend müssen Sie entweder Ihr Terminal neu starten oder Folgendes eingeben
source ~/.bash_profile
(letzteres funktioniert nur auf Ihrer aktuellen Registerkarte).quelle
Zu Ihrer Information, ich bin nicht sicher, wie ich direkt auf die Antwort von Nelson antworten soll, da ich noch nicht genug Reputation aufgebaut habe, um sie zu kommentieren, aber auf meinem Computer, auf dem El Capitan ausgeführt wird,
^M
wurden alle Hostnamen aus meiner Konfigurationsdatei angehängt . Ich musste entweder\r
zu meiner$IFS
Variablen hinzufügen oder alle Instanzen von\r
aus der Ausgabe der Sekunde entfernen / ersetzencat
. Letztendlich habe ich Folgendes hinzugefügttr '\r' '\n'
, um die Befehlskette so aussehen zu lassen:quelle
Sie können Einträge in / etc / hosts hinzufügen und sie in der automatischen Vervollständigung des Hostnamens verwenden:
Zum erneuten Laden dieser Datei ist ein Neustart erforderlich.
quelle