Como executar os seguintes comandos em um script bash?

1

Estou trabalhando no seguinte script para ativar o front-end e o back-end do meu projeto da seguinte forma:

#!/bin/bash
cd /Users/perf-fe/
source my_project_34/bin/activate
npm start 
&&
cd /Users/perf-be/
export FLASK_APP=router.py
flask run

No entanto, não está funcionando, está mostrando apenas a primeira parte:

#!/bin/bash
cd /Users/perf-fe/
source my_project_34/bin/activate
npm start 
&&

Como o primeiro processo ocupa todo o terminal, gostaria de receber sugestões

    
por neo33 25.05.2018 / 21:03

1 resposta

6

Você provavelmente deseja iniciar o primeiro processo em seu próprio trabalho e, em seguida, executar o segundo:

cd /Users/perf-fe/
source my_project_34/bin/activate
npm start &
cd /Users/perf-be/
export FLASK_APP=router.py
flask run

O & diz ao shell para executar o comando anterior como um job em background e continuar com o próximo comando, mesmo que o anterior ainda esteja em execução.

Isso é diferente de && , que é um erro de sintaxe quando você o apresenta. Seu uso é entre dois comandos, para executar o segundo se e somente se o código de saída do primeiro for zero.

    
por 25.05.2018 / 21:08