GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Abriendo múltiples pestañas de terminal y ejecutando comandos?

Necesito abrir varias pestañas de terminal, darles títulos, ir a un directorio y hacer que cada pestaña ejecute un comando.

Soy nuevo en Linux y las secuencias de comandos de shell, después de buscar en línea y verificar algunas soluciones, hice esta secuencia de comandos (EDITADO basado en las respuestas a continuación):

#!/bin/bash

cd /media/Extra/Project

tab=" --tab-with-profile=Default"
options=(--tab --title=Terminal)

cmds[1]="'rails s'"
titles[1]="Server"

cmds[2]="'rails c'"
titles[2]="Console"


for i in 1 2; do
  options+=($tab --title="${titles[i]}"  -e "bash -c "${cmds[i]} ; bash"" )          
done

gnome-terminal "${options[@]}"


exit 0

Abre las pestañas, las nombra, pero falla al ejecutar los comandos generando este error:

Hubo un error al crear el proceso hijo para este terminal

Otra deficiencia es que si detengo el comando en ejecución, cierra la pestaña, lo cual no quiero. Necesito poder detener el comando y ejecutarlo nuevamente dentro de la misma pestaña.

¿Qué tiene de malo el guión? ¿Existe otra forma más sencilla de hacerlo?

Nota:si eliminé la parte (-e “”bash -c ${cmds[i]};bash””) del comando, abre las pestañas en el directorio dado y las nombra, sin errores.

-Editar-1:

Después de aplicar la respuesta de @Tuknutx a continuación y editar el script, el error ya no aparece, pero me da bash: rails c: command not found y rails s crea una nueva aplicación de rieles en lugar de iniciar el servidor de rieles, estoy usando .rmvrc para seleccionar un conjunto de gemas una vez que se accede a esta carpeta.

Respuesta aceptada:

Recomendaría usar tmux con tmuxinator , hará el trabajo por ti y puedes confiar en terminator diseños también!

Para terminator diseño de verificación de la respuesta de mhnagaoka aquí askubuntu también:

  1. Después de configurar su diseño, haga clic con el botón derecho en cualquier fondo de terminal y elija PreferenciasDiseños pestaña y haga clic en Agregar botón.

  2. Dale un nombre y presiona Cerrar .

  3. Esto debería crear el ~/.config/terminator/config mencionado archivo.

  4. Ahora puede iniciar Terminator usando el diseño guardado usando:terminator -l yourLayout (reemplace suDiseño con lo que hayas
    elegido en el paso 2).

  5. (opcional) Edite el ~/.config/terminator/config archivo para que donde dice [layouts] y anidado debajo de él [[yourLayout]] , cambie el nombre de yourLayout a predeterminado y elimine/cambie el nombre del predeterminado anterior diseño. Ahora, cuando Terminator se inicie sin ningún parámetro,
    cargará su [[default]] personalizado. diseño!


Ubuntu
  1. Ver y eliminar el historial de terminales en Ubuntu 20.04:¿el mejor método?

  2. ¿Diferencia entre 'y' en la línea de comando (bash)?

  3. ¿Diferencia entre los símbolos '&&' y ';' en una terminal Bash estándar?

  4. | ¿En Comando Terminal?

  5. ¿Guardar y restaurar las pestañas de su terminal?

Ejemplos de comandos de pantalla para administrar múltiples sesiones de terminal

Crear y usar alias de Bash en Linux

Cómo ver y eliminar el historial de terminales en Ubuntu 20.04

Copiar y pegar texto en la terminal de Linux

Trabajar con múltiples pestañas de terminal en Ubuntu

Instalar y usar Guake:un emulador de terminal desplegable para Ubuntu