Folgendes möchte ich erreichen:
- Ich möchte ein Gnome-Terminal mit fünf Registerkarten darin öffnen
- Ich möchte eine Reihe von Befehlen (5 – 10 Befehle) in jedem Tab automatisch ausführen
Erster Tab:soll die Klarfallansicht einstellen und danach einen oder mehrere Befehle ausführen
Zweiter Tab:soll Melden Sie sich bei einem Server an und führen Sie einige Befehle ausDritter Reiter:soll nur einige Befehle ausführen
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c "ct setview myViewName; cal"" –tab --tab --tab
(funktioniert ok, View ist gesetzt aber danach kein Befehl mehr ausgeführt)
Ich habe versucht, es stattdessen auf diese Weise zu tun und dies im folgenden Skript auszuführen:
gnome-terminal --geometry 125x18-0-26 --tab -t "some title" -e /home/ekido/Desktop/MyScripts/myScript
#!/usr/bin/expect
exec gnome-terminal --geometry 125x49-0+81 –tab
spawn ssh [email protected]
expect "password"
send "*******r"
expect "[email protected]:~>"
send “some commandr"
expect "[email protected]:~>"
send “some command"
interact
Wenn ich exec gnome-terminal --geometry 125x49-0+81 –tab
entferne Zeilen aus dem Beispiel und rufe ein Skript aus einer anderen Datei auf, es funktioniert gut – ich werde beim Server angemeldet und alle Befehle werden ausgeführt. Kann mir jemand bei der Lösung helfen?
Ein Skript zu schreiben, das ich für jeden Tab aufrufe, ist keine Option, da ich am Ende 5 Terminals mit jeweils 5-7 Tabs haben werde, und das bedeutet, dass ich 25 bis 30 Skripte schreiben müsste (kostet mehr als es hilft in meinem Problem).
Akzeptierte Antwort:
Das scheint auf meinem Rechner zu funktionieren:
gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab
Bitte beachten Sie, sobald die von -e ausgeführten Prozesse beendet sind, werden sie beendet. In diesem Fall wird bash geladen, führt alle Befehle aus, die Sie ihm übergeben, und ist sofort vorhanden. Ich habe die read-Anweisungen eingefügt, um auf Benutzereingaben zu warten. Auf diese Weise werden diese Registerkarten nicht geschlossen, bis Sie eine Taste drücken, nur damit Sie es in diesem Beispiel sehen können. Ohne sie würde es so aussehen, als ob nur zwei Tabs geöffnet wären, weil die anderen beiden zu schnell ausgeführt und geschlossen würden.