Questão Como escrever um script para executar aplicativos diferentes


Eu sou muito novo na plataforma linux.

Procurando por um arquivo de script para chamar o arquivo de inicialização do aplicativo diferente localizado em local diferente e precisa ser executado em terminais diferentes.

Por exemplo :

Eu tenho dois arquivos .sh como a.sh e b.sh em locais diferentes.

Agora precisa de um arquivo de script para executar esses arquivos .sh. Quando eu executo esse script, ele deve abrir dois terminais. No primeiro terminal a.sh deve ser chamado e o arquivo b.sh deve ser executado no segundo terminal.

Agradecemos antecipadamente por ajuda.

Saudações, Raghu


2
2017-07-04 07:37


origem




Respostas:


Isso é bem simples. Escreva um script como este:

#!/bin/bash
xterm -e /bin/bash /path/to/script_1.sh &
xterm -e /bin/bash /path/to/script_2.sh &

o -e opção significa "executar". O argumento a seguir é o comando para executar (aqui está / bin / bash) e a próxima opção é o argumento para o comando (aqui o nome do arquivo de script). & significa que os comandos xterm estão sendo executados em segundo plano. Se você remover o primeiro &, ele irá executar o primeiro script completamente e depois ele irá iniciar o próximo comando, mas como eu entendi sua pergunta você quer executá-los simultaneamente, então deixe o script & há.

Você também pode usar o terminal padrão em vez do xterm, mas isso depende da distribuição e da área de trabalho que você usa. Por exemplo, no gnome seria gnome-terminal -x, mas não deve fazer nenhuma diferença ao usar o xterm.

Espero que isto ajude.

Greatings, Darth Ravage


2
2017-07-04 08:18



Eu pensei que era gnome-terminal -e  (-x parece funcionar também, mas -e aparece no --help página)... Além disso, com o gnome-terminal, você pode obtê-lo para manter o terminal aberto (nas preferências, sob "Título e comando"), assim você pode ver a saída quando os scripts saem. Além disso, se os scripts que estão sendo chamados tiverem a linha shebang #!/bin/bash, você não precisa prefixar o comando /bin/bash (ou bash) - Wilf
Você está perfeitamente certo com o -e. Meu erro. eu escrevi /bin/bash apenas por uma questão de perfeição, mas como você disse, é perfeitamente possível escrever bash. Obrigado pela crítica construtiva. - Darth Ravage