Meine Frage ähnelt dieser , aber ich suche etwas anderes. Ich habe einen Notebook-PC, mit dem ich in zwei verschiedenen Szenarien auf Linux-Computer in einem Netzwerk zugreifen kann:
Ich habe eine direkte Kabelverbindung zum Netzwerk.
Ich habe eine indirekte Verbindung zum Netzwerk. Im Netzwerk befindet sich ein Gateway-Computer, der dem Internet ausgesetzt ist und mit dem ich SSH-Tunnel zu Hosts im Netzwerk einrichten kann. Dies ist offensichtlich eine viel langsamere Verbindung mit höherer Latenz.
Mein Home-Verzeichnis ist von allen Computern aus über das Netzwerk zugänglich, sodass sie eine Kopie von meinem freigeben .bashrc
. Ich möchte Funktionen hinzufügen, um .bashrc
zu erkennen, in welchem der beiden Szenarien ich mich befinde, und entsprechend zu handeln (technisch gesehen gibt es drei Szenarien, in denen das dritte darin besteht, dass ich mich bei meinem lokalen Computer anmelde, dies sollte jedoch einfach zu handhaben sein ). Ich würde gerne Dinge tun wie:
alias ssh ssh -X
Wenn ich im lokalen Netzwerk bin, aber keine X-Weiterleitung über das Internet verwenden möchte.export EDITOR=gvim
wenn ich im lokalen Netzwerkexport EDITOR=vim
bin , aber wenn ich remote bin.
Und so weiter. Basierend auf der vorherigen Antwort sollte ich in der Lage sein, so etwas zu erreichen, indem ich den Inhalt von SSH_CLIENT
(falls vorhanden) überprüfe und prüfe, ob die Client-IP-Adresse mit einem der Netzwerkadapter auf meinem lokalen Computer übereinstimmt. Ich dachte, ich würde sehen, ob es einen schlaueren oder robusteren Weg gibt, dies zu erreichen.