Eu tenho usado esse comando com sucesso, que altera uma variável em um arquivo de configuração e executa um script Python dentro de um loop:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done
Como cada um DoMyScript.py
leva cerca de 30 segundos para ser executado antes de terminar, eu gostaria de relegá-los ao segundo plano, enquanto o próximo pode ser gerado.
Tentei 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: erro de sintaxe próximo ao token inesperado `; '
bash
command-line
process
bash-script
ljs.dev
fonte
fonte
numbers.txt
contenção255
.Dado o comentário de Stephane na resposta de 1_CR , você provavelmente deseja:
fonte
for
intervalo ... Aqui está o que eu estou feliz no momento:for((i=1;i<100;i+=1)); do echo $i > numbers.txt;sleep 3; python DoMyScript.py & done
O principal ponto de interrogação da execução do processo em segundo plano está resolvido.<=
na pergunta original, então o intervalo que você forneceu foi totalmente adequado com base nas informações que forneci. Mais uma vez, obrigado pela abordagem diferentePerca o
;
:fonte