Aliase überall verwenden

  Tim Moritz   Lesezeit: ~1 Minute  🗪 4 Kommentare

Eigene Aliase innerhalb jeder SSH Session nutzen.

aliase überall verwenden

Aliase in Bash sind ein nützliches Werkzeug, um wiederkehrende Befehle effizienter zu nutzen. Man spart sich Tipparbeit und braucht sich weniger Parameter einprägen.

Ein Argument gegen die Verwendung ist häufig "Ich bin sehr oft auf per SSH auf anderen Rechnern unterwegs, wo mir meine Aliase nicht zur Verfügung stehen".  Mit einem einfachen Trick kann man aber genau das erreichen.

Um eigene Aliase innerhalb von SSH-Sessions nutzen zu können, legt man eine Datei (in diesem Beispiel ~/.bashrc_remote) an und definiert dort seine Aliase, wie man es auch lokal tun würde.

In der eigenen ~/.bashrc legt man noch folgenden Code ab:

sshs() {
        ssh $@ "cat > /tmp/.bashrc_temp" < ~/.bashrc_remote
        ssh -t $@ "bash --rcfile /tmp/.bashrc_temp ; rm /tmp/.bashrc_temp"
}

Verbindet man sich nun mit dem Befehl sshs auf einen anderen Rechner, so wird vorher die lokale ~/.bashrc_remote in das /tmp Verzeichnis des Ziels kopiert, von Bash geladen und wieder entfernt. So habt ihr, unabhängig vom Ziel der SSH Verbindung, die gewünschten Aliase zur Verfügung.

Quelle:

https://superuser.com/a/593640

Tags

Tipps, Alias, SSH, bash

Tealk
Geschrieben von Tealk am 14. Februar 2023 um 11:46

Das ist aber aich sehr gefährlich wenn schon wichtige einträge in der bashrc liegen.

Tim Moritz
Geschrieben von Tim Moritz am 14. Februar 2023 um 11:49

Ich weiß nicht ob ich es als "sehr gefährlich" bezeichnen würde. Aber klar, wenn die bashrc des Zielsystems relevant ist, könnte man vielleicht einfach beide hintereinander hängen

Reto
Geschrieben von Reto am 19. Februar 2023 um 18:57

Wenn man sich alle Antworten auf

Quelle: https://superuser.com/a/593640 anschaut. Nein:

You'll also notice that it uploads a different file, .bashrc_remote, so that you can select exactly what you want to source on remote servers, instead of everything.

Es hat übrigens noch ausgefeiltere Tipps auf superuser mit sshrc weiter unten. Ein Link dazu: https://github.com/ezbik/sshrc

Igor
Geschrieben von Igor am 14. Februar 2023 um 12:25

Es gibt auch https://github.com/sineemore/backpack

  • ohne temporäres File.