GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Aprire più schede del terminale ed eseguire il comando?

Devo aprire più schede del terminale, assegnare loro dei titoli, andare in una directory e fare in modo che ogni scheda esegua un comando.

Sono nuovo di Linux e degli script di shell, dopo aver cercato online e verificato alcune soluzioni, ho creato questo script (EDITED in base alle risposte seguenti):

#!/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

Apre le schede, le nomina, ma non esegue i comandi che generano questo errore:

Si è verificato un errore durante la creazione del processo figlio per questo terminale

Un altro inconveniente è che se ho interrotto il comando in esecuzione, si chiude la scheda, cosa che non voglio. Devo essere in grado di interrompere il comando ed eseguirlo di nuovo nella stessa scheda.

Cosa c'è di sbagliato nella sceneggiatura? C'è un altro modo più semplice per farlo?

Nota:se ho rimosso la parte (-e “”bash -c ${cmds[i]};bash””) dal comando, si aprono le schede nella directory specificata e le denomina, senza errori.

-Modifica-1:

Dopo aver applicato la risposta @Tuknutx di seguito e aver modificato lo script, l'errore non viene più visualizzato, ma mi dà bash: rails c: command not found e rails s crea una nuova app rails invece di avviare il server rails, sto usando .rmvrc per selezionare un gemset una volta che si accede a questa cartella.

Risposta accettata:

Consiglierei di usare tmux con tmuxinator , farà il lavoro per te e puoi fare affidamento su terminator anche i layout!

Per terminator layout checkout anche la risposta di mhnagaoka qui askubuntu:

  1. Dopo aver impostato il layout, fai clic con il pulsante destro del mouse su qualsiasi sfondo del terminale e scegli PreferenzeLayout scheda e fai clic su Aggiungi pulsante.

  2. Dagli un nome e premi Chiudi .

  3. Questo dovrebbe creare il menzionato ~/.config/terminator/config file.

  4. Ora puoi avviare terminator usando il layout salvato usando:terminator -l yourLayout (sostituisci tuoLayout con quello che
    hai scelto al punto 2).

  5. (facoltativo) Modifica il ~/.config/terminator/config file in modo che dove dice [layouts] e nidificato sotto [[yourLayout]] , rinomina tuoLayout su predefinito e rimuovi/rinomina il precedente predefinito disposizione. Ora, quando Terminator si avvia senza alcun parametro,
    caricherà il tuo [[default]] personalizzato disposizione!


Ubuntu
  1. Visualizza ed elimina la cronologia del terminale in Ubuntu 20.04 - Il metodo migliore?

  2. Differenza tra "e" sulla riga di comando (bash)??

  3. Ssh su più host ed eseguire un comando?

  4. Differenza tra i simboli "&&" e ";" in un terminale Bash standard?

  5. | In Comando Terminale?

Esempi di comandi dello schermo per gestire più sessioni di terminale

Crea e usa alias Bash in Linux

Come visualizzare ed eliminare la cronologia del terminale in Ubuntu 20.04

Copiare e incollare testo sul terminale Linux

Lavorare con più schede di terminale in Ubuntu

Installa e usa Guake:un emulatore di terminale a discesa per Ubuntu