Iniciar una nueva sesión de terminal en Bash

Faaiq Bilal 20 junio 2023
  1. Use el comando gnome-terminal para iniciar una nueva sesión de terminal en Bash
  2. Abra una nueva pestaña en la misma terminal en Bash
Iniciar una nueva sesión de terminal en Bash

En varias situaciones, cuando se trabaja con Bash u otros shells, puede surgir la necesidad de ejecutar un script o un programa en una nueva instancia de terminal o tal vez en otra pestaña en el mismo terminal. Abrir nuevas instancias de terminal o pestañas desde dentro de la terminal es simple; lo explicaremos en detalle con suficientes ejemplos.

Note
Los ejemplos del artículo son para sistemas que ejecutan un entorno de escritorio GNOME, que es común en la mayoría de las distribuciones de LINUX.

Use el comando gnome-terminal para iniciar una nueva sesión de terminal en Bash

Debe usar el comando simple gnome-terminal para iniciar una nueva terminal desde una instancia que ya se está ejecutando. Esto iniciará una nueva instancia de terminal y se abrirá una nueva ventana.

Si desea abrir una nueva terminal y ejecutar un programa en ella desde la instancia que ya se está ejecutando, hay algunas formas diferentes de realizar esta tarea.

gnome-terminal -x "complete/path/of/the/program" &

El comando anterior ejecutará el programa deseado en una nueva terminal; es importante proporcionar la ruta completa del programa que desea ejecutar.

El & al final del comando mueve esta tarea al fondo de la instancia de terminal original; no agregar el & al final del comando puede causar errores, ya que el programa puede intentar ejecutarse antes de que se haya inicializado el nuevo terminal.

La opción bash -c se puede usar con el comando gnome-terminal para ejecutar múltiples comandos Bash en una nueva terminal.

La sintaxis del comando gnome-terminal es la siguiente.

gnome-terminal --command="bash -c '[cmd1]; [cmd2]; $SHELL'"

Aquí --command="bash -c" le dice al nuevo terminal que estos son comandos o scripts de Bash, y cmd1 y cmd2 representan los nombres del primer y segundo comando, respectivamente.

El $SHELL al final del comando hace que la terminal permanezca abierta incluso después de completar los comandos.

Una sintaxis alternativa para el ejemplo anterior es:

gnome-terminal -x bash -c "<cmd>; exec bash"

El ejec bash al final de este comando tiene el mismo propósito que $SHELL (es decir, mantener la terminal abierta después de ejecutar los comandos).

Abra una nueva pestaña en la misma terminal en Bash

A veces, es posible que no desee abrir varias ventanas de terminal, ya que puede resultar difícil realizar un seguimiento de ellas. Abrir una nueva pestaña en la misma terminal es un mejor enfoque en tales situaciones.

El comando para abrir una nueva pestaña de terminal es:

gnome-terminal --tab

Esto se puede combinar con los ejemplos discutidos anteriormente para ejecutar comandos en una nueva pestaña de terminal, como:

gnome-terminal --tab -x bash -c "<cmd>; exec bash"

Es importante tener en cuenta que los comandos anteriores son para sistemas que admiten el entorno GNOME.

Para macOS, puede ejecutar un comando en una nueva terminal desde una terminal que ya se está ejecutando usando:

osascript -e 'tell app "Terminal" to do script "cmd"'

Esto abrirá una nueva terminal y ejecutará el comando cmd en la terminal recién creada.