monitora vários terminais do shell script

1

Estou escrevendo um shell script de início rápido para configurar automaticamente meu ambiente de desenvolvimento para um projeto atual. No entanto, nenhum dos comandos no shell script pode ser executado depois que meu servidor for iniciado, porque ele assume o terminal. Eu estou tentando abrir uma nova guia, inicie o servidor lá e continue executando meu script de shell na guia original. Meu script atualmente é assim:

subl myProj
cd myProj
gnome-terminal --tab
npm start
google-chrome http://localhost:3000

myProj acaba abrindo na nova aba e o servidor inicia na aba original. o chrome nunca é lançado.

    
por user137717 27.08.2015 / 22:31

1 resposta

2

Os scripts executam comandos em sequência e aguardam até que cada comando seja concluído. No entanto, existe uma maneira de permitir que o script continue executando após um comando específico - adicione & no final do script.

Por exemplo:

!#/bin/bash
firefox
echo "Next line"

Esperará até o firefox ser fechado.

!#/bin/bash
firefox &
echo "Next line"

Será executado o comando echo e permitirá manter o firefox aberto

    
por Sergiy Kolodyazhnyy 27.08.2015 / 22:35