GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:apri il terminale di Gnome con diverse schede ed esegui alcuni comandi in ogni scheda?

Questo è ciò che voglio realizzare:

  1. Voglio aprire un terminale gnome con cinque schede
  2. Voglio eseguire automaticamente una serie di comandi (5-10 comandi) in ciascuna scheda
    Prima scheda:imposta la visualizzazione in maiuscolo e quindi esegue uno o più comandi
    Seconda scheda:deve accedere a un server ed eseguire alcuni comandi

    Terza scheda:eseguirà solo alcuni comandi

gnome-terminal --geometry=260x25-0+0 --tab -e "csh -c "ct setview myViewName; cal"" –tab --tab --tab (funziona bene, la visualizzazione è impostata ma dopo non viene eseguito nessun comando)

Ho invece provato a farlo in questo modo ed eseguendo questo nello script seguente:

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 [email protected]
expect "password"
send "*******r"
expect "[email protected]:~>"
send “some commandr"
expect "[email protected]:~>"
send “some command"
interact 

Se rimuovo il exec gnome-terminal --geometry 125x49-0+81 –tab righe dall'esempio e chiamo uno script da qualche altro file, funziona bene:accedo al server e tutti i comandi vengono eseguiti. Qualcuno può aiutarmi a risolverlo?

Scrivere uno script che chiamo per ogni scheda non è un'opzione, poiché alla fine avrò 5 terminali con 5-7 schede in ciascuna, il che significa che ci sarebbero da 25 a 30 script da scrivere (costa più di quanto aiuta nel mio problema).

Risposta accettata:

Questo sembra funzionare sulla mia macchina:

gnome-terminal --geometry=260x25-0+0 --tab -e "bash -c 'date; read -n1'" --tab -e "bash -c 'echo meow; read -n1' " --tab --tab

Si noti che non appena i processi eseguiti da -e sono terminati, verranno terminati. In questo caso, bash viene caricato, esegue tutti i comandi che gli vengono passati ed esiste immediatamente. Ho inserito le istruzioni di lettura per attendere l'input dell'utente. In questo modo quelle schede non si chiuderanno finché non premi un tasto, solo così puoi vederlo in questo esempio. Senza di essi, sembrerebbe che solo due schede si aprano, perché le altre due verrebbero eseguite e chiuse troppo rapidamente.


Linux
  1. Controlla i comandi e le attività con il comando watch di Linux

  2. Come aprire e chiudere le directory nel terminale Linux

  3. Come utilizzare i comandi "cat" e "tac" con esempi in Linux

  4. 5 modi per eseguire comandi UNIX/Linux (e script della shell) in background

  5. Come aprire una nuova scheda in GNOME Terminal dalla riga di comando?

Come eseguire automaticamente script e comandi di avvio di Linux

Come lavorare con il processo in primo piano e in background in Linux

5 comandi divertenti da usare in Linux e Terminal

Gestisci l'interruzione di riga con i comandi Fold e FMT nel terminale Linux

Converti le schede in spazi nel terminale Linux con il comando Espandi

CentOS 7 Il miglior Linux aziendale gratuito e open source