Elimine o ;
após &
. Este é um requisito sintático
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py & done
Eu tenho usado esse comando com sucesso, o que altera uma variável em um arquivo de configuração e executa um script Python em um loop:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done
Como cada DoMyScript.py
leva cerca de 30 segundos para ser executado antes de terminar, eu gostaria de relegá-los ao plano de fundo enquanto o próximo pode ser gerado.
Já experimentei o que estou familiarizado, adicionando um e comercial como abaixo:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py &; done
No entanto, isso resulta no erro abaixo:
-bash: syntax error near unexpected token ';'
Elimine o ;
após &
. Este é um requisito sintático
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py & done
Dado o comentário de Stephane na resposta do 1_CR , você provavelmente vai querer:
for i in {114..255}; do { echo $i > numbers.txt && python DoMyScript.py; } & done
Perca o ;
:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py & done