Ayudado por la respuesta de @ nickguletskii , y mi propio comentario debajo de su respuesta, e inspirado por el voto de @ grabantot de mi comentario, esta es mi forma preferida de hacerlo, especialmente cuando quiero que el terminal permanezca abierto para que luego pueda usarlo manualmente.
Ex. uso: esto es realmente útil para agregar a sus programas de inicio para que este script se ejecute, abra un terminal, cree y nombre una pestaña en el terminal y ejecute un comando para usted. O bien, simplemente puede agregar un enlace simbólico a este script en su escritorio. Utilizo este tipo de enfoque para poder hacer doble clic en un solo icono en mi escritorio y hacer que abra un montón de terminales (con varias pestañas nombradas de acuerdo con el trabajo que voy a hacer en ellas) y programas para configurar mi entorno de programación, por ejemplo, para el trabajo diario.
Aquí hay un ejemplo artificial, que abre una sola pestaña, la titula "prueba", luego ejecuta el comando simple cd /etc; ls
dentro de ella. La $SHELL
parte al final obliga al shell a permanecer abierto para que pueda ver su salida y continuar usándolo (aprendí esto en otro lugar en Stack Overflow):
gnome-terminal --tab --title="test" --command="bash -c 'cd /etc; ls; $SHELL'"
Aquí hay un ejemplo más complicado que abre 3 pestañas separadas en el mismo terminal gnome. Este es exactamente el tipo de cosas que hace el acceso directo de mi escritorio para que pueda abrir un montón de ventanas de programación a la vez:
gnome-terminal --tab --title="tab 1" --command="bash -c 'cd /etc; ls; $SHELL'" --tab --title="tab 2" --command="bash -c 'cd ~; ls; $SHELL'" --tab --title="tab 3" --command="bash -c 'cd ~/temp3; ls; $SHELL'"
Aquí hay un desglose de ese comando anterior:
gnome-terminal
= abrir un terminal gnomo
--tab
= abre una pestaña única para lo que viene después
--title="tab 1"
= título de esta pestaña "pestaña 1"
--command="bash -c 'cd /etc; ls; $SHELL'"
= ejecuta el bash -c 'cd /etc; ls; $SHELL'
comando, que es un comando que acabo de inventar como ejemplo; esto es lo que hace:
bash -c
dice que es un bash 'c'ommand
cd /etc
= 'c'hange' d'irectory en la ruta "/ etc"
ls
= 'No contiene el contenido de este directorio
$SHELL
= este tidbit críptico es necesario para mantener abierto el shell para que pueda trabajar con él. Si desea que se abra el shell, ejecute su comando, luego cierre, simplemente elimine esta parte. Sin embargo, quiero que la pestaña permanezca abierta para poder hacer que la programación sea mágica. :)
- luego comenzamos de nuevo en la
--tab
parte para producir la pestaña 2, luego otra vez para la pestaña 3. Personalice a su gusto.
Captura de pantalla: