Como executar mais de um comando em um terminal recém aberto?

2

Eu tenho um script que quero usar para abrir novos terminais e digitar comandos neles. Um comando como

gnome-terminal

abre um novo terminal.

Além disso, se eu fizer

gnome-terminal -e myprogram1

ele executará myprogram1 no terminal recém-aberto. Mas e se, depois do myprogram1 terminar, eu quiser executar myprogram2? Eu não posso fazer algo como

gnome-terminal -e myprogram2

porque ele abrirá um novo terminal.

Existe uma maneira de especificar no script que eu quero executar myprogram1 e myprogram 2 no mesmo novo terminal? Ou eu teria que criar um novo script e fazer algo como

gnome-terminal -e scriptToExecuteMyPrograms1And2
    
por CodeBlue 12.07.2013 / 16:15

4 respostas

6

Você pode realizar o que quiser da seguinte forma:

$ gnome-terminal -e "bash -c '<cmd1>;<cmd2>;exec $SHELL'"

Isso abrirá <cmd1> , quando isso for concluído, ele abrirá <cmd2> , e finalmente ele sairá em um prompt de comando exec $SHELL .

Por exemplo:

$ gnome-terminal -e "bash -c 'vim;vim;exec $SHELL'"

Executa vim , se eu fechar o primeiro vim , um segundo vim é iniciado. Quando o segundo se fecha, fico no terminal.

    
por 12.07.2013 / 16:30
1

Experimente gnome-terminal -e "myprogram1; myprogram2" . Você também pode tentar com um && em vez de ; .

    
por 12.07.2013 / 16:17
0

Se você quiser executar vários comandos depois de disparar o terminal, uma abordagem melhor seria escrever uma função, exportá-la e chamar essa função. Crie um script de shell semelhante ao fornecido abaixo para se adequar ao seu aplicativo:

my_function(){
    command1
    command2
    .
    .
    .
    commandn
}

export -f my_function

$(x-terminal-emulator -e "bash -c 'my_function'")

Você também pode ter mais de uma função. Mas, então você terá que escrever outra função que atua como principal, ou seja, que chama todas as outras funções. Então, você configura seu terminal para executar essa função principal, que cuidará do resto.

    
por 14.09.2015 / 14:25
-1

Você pode colocar os programas em ~/.bashrc file

Isso é válido para o shell bash se você estiver usando-o. Sempre que você abrir o terminal, através do tty ou do gnome-terminal, ele será executado.

Basicamente, basta adicionar no final do arquivo seus programas a serem executados.

    
por 12.07.2013 / 16:18