Ich muss ein paar SSH-Tunnel aus einem Shell-Skript einrichten. Ich habe versucht, sie als BG-Aufgaben auszuführen:
#!/bin/sh
ssh -L 3000:server1:5029 me@server2 &
ssh -L 3001:server3:3306 me@server2 &
Aber die Tunnel scheinen nicht richtig zu funktionieren, wenn ich sie so starte.
Sie funktionieren einwandfrei, wenn ich sie manuell in ihren eigenen Registerkarten einrichte. Daher ist meine nächste Idee, das Skript neue Registerkarten in Terminal öffnen zu lassen und die Befehle dort als Vordergrundprozesse auszuführen.
Hinweis: Diese Frage lautete ursprünglich "Wie starte ich eine neue Terminalregisterkarte in der Shell und führe dann einen Befehl darin aus?", Aber ich erhielt zwei Antworten zum Umgang mit den Tunneln. Für die Frage "Öffnen einer Shell" habe ich dies bei SuperUser gefunden , was funktionieren wird, obwohl neue Registerkarten im Hintergrund den Vordergrundfenstern vorzuziehen wären, die es öffnet.