He estado usando este comando con éxito, que cambia una variable en un archivo de configuración y luego ejecuta un script de Python dentro de un bucle:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done
Como cada uno DoMyScript.py
tarda unos 30 segundos en ejecutarse antes de finalizar, me gustaría relegarlos a un segundo plano mientras se puede generar el siguiente.
He intentado con lo que estoy familiarizado, agregando un ampersand como a continuación:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py &; done
Sin embargo, esto da como resultado el siguiente error:
-bash: error de sintaxis cerca del token inesperado `; '
bash
command-line
process
bash-script
ljs.dev
fuente
fuente
numbers.txt
contenido255
.Dado el comentario de Stephane sobre la respuesta de 1_CR , probablemente quieras:
fuente
for
rango ... Esto es lo que me satisface en este momento:for((i=1;i<100;i+=1)); do echo $i > numbers.txt;sleep 3; python DoMyScript.py & done
se resuelve el punto principal de la pregunta para lograr que el proceso se ejecute en segundo plano.<=
en la pregunta original, por lo que el rango que proporcionó fue totalmente adecuado en función de la información que proporcioné. Nuevamente, gracias por el enfoque diferentePerder el
;
:fuente