como executar mais de um comando gnome-terminal

2

Eu tenho um script que está executando alguns (mais de 15) aplicativos como:

cd mypath
sleep 1
gnome-terminal -t App1 --tab -e "./App1" 
sleep 1
gnome-terminal -t App2 --tab -e "./App2" 
..
..
sleep 1
gnome-terminal -t App15 --tab -e "./App15"  

Como você pode perceber, isso iniciará aplicativos em 15 terminais diferentes.

Agora o que acontece é quando eu mato qualquer ./AppX por Ctrl + C , por qualquer razão, ele finaliza o programa assim como sai daquele terminal.

O que eu quero é quando pressiono Ctrl + C só deve terminar o ./AppX , mas o terminal ainda permanece aberto, isto é porque quando eu quero começar que AppX novamente eu deveria pressionar apenas a tecla de seta para cima e Enter.

EDIT ::
Tem a resposta :: ver a resposta aceita de askubuntu.com.

Outra questão é : como executo mais de um comando como segue:

gnome-terminal -e "sleep 1; AppX"  

que NÃO está funcionando, tentei vários outros métodos (& amp ;, & & amp ;, |) mas todos falharam.

    
por Tejas 27.06.2014 / 13:41

1 resposta

1

O seguinte comando abrirá um novo terminal com 15 abas no terminal multi-gnome:

cd mypath
multi-gnome-terminal \
  --add-tab -tname App1 --tcommand "./App1" \
  --add-tab -tname App2 --tcommand "./App2" \
  ...
  --add-tab -tname App15 --tcommand "./App15" \

Se você realmente precisa desses sonos, pode incorporá-los:

cd mypath
multi-gnome-terminal \
  --add-tab -tname App1 --tcommand "sleep 1; ./App1" \
  --add-tab -tname App2 --tcommand "sleep 2; ./App2" \
  ...
  --add-tab -tname App15 --tcommand "sleep 15; ./App15" \

E se você precisar alterar dinamicamente a contagem / lista de comandos que está prestes a iniciar, use o seguinte:

cd mypath
cmd=(multi-gnome-terminal)
cmd=("${cmd[@]}" --add-tab -tname App1 --tcommand "sleep 1; ./App1")
cmd=("${cmd[@]}" --add-tab -tname App2 --tcommand "sleep 2; ./App2")
  ...
cmd=("${cmd[@]}" --add-tab -tname App15 --tcommand "sleep 15; ./App15")
"${cmd[@]}"
    
por 30.06.2014 / 19:39