Esto es lo que quiero lograr:
- Quiero abrir un terminal de gnomo con cinco pestañas
- Quiero ejecutar un conjunto de comandos (5 - 10 comandos) en cada pestaña automáticamente
Primera pestaña: establecerá una vista clara y luego ejecutará uno o más comandos
Segunda pestaña: iniciará sesión en un servidor y ejecutará algunos comandos
Tercera pestaña: solo ejecutará algunos comandos
gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c \"ct setview myViewName; cal\"" –tab --tab --tab
(funciona bien, la vista está configurada pero no se ejecuta ningún comando después de eso)
Intenté hacerlo de esta manera y ejecuté esto en el script a continuación:
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 usert@server
expect "password"
send "*******\r"
expect "user@server100:~>"
send “some command\r"
expect "user@server100:~>"
send “some command"
interact
Si elimino las exec gnome-terminal --geometry 125x49-0+81 –tab
filas del ejemplo y llamo a un script desde otro archivo, funciona bien: me conecto al servidor y se ejecutan todos los comandos. puede alguien ayudarme a resolver esto?
Escribir un script que llamo para cada pestaña no es una opción, ya que tendré 5 terminales con 5-7 pestañas en cada una, y eso significa que sería de 25 a 30 scripts para escribir (cuesta más de lo que ayuda en mi problema)
fuente
Respuestas:
Esto parece funcionar en mi máquina:
Tenga en cuenta que tan pronto como los procesos ejecutados por -e terminen de ejecutarse, finalizarán. En este caso, bash se carga, ejecuta cualquier comando que le pase e inmediatamente existe. Puse las declaraciones de lectura para esperar la entrada del usuario. De esta manera, esas pestañas no se cerrarán hasta que presione una tecla, solo para que pueda verla en este ejemplo. Sin ellos, parecería que solo se abren dos pestañas, porque las otras dos se ejecutarían y cerrarían demasiado rápido.
fuente
Como bash se cierra después de que se completa el comando, puede llamar a otra instancia
bash
después de su comando para obtener un shell interactivo:fuente
Guardar a continuación como script.sh
agregue script.sh a $ PATH y luego ejecútelo
Consulte Abrir una nueva pestaña en gnome-terminal usando la línea de comandos .
fuente