J'ai utilisé cette commande avec succès, ce qui change une variable dans un fichier de configuration, puis exécute un script Python dans une boucle:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py; done
Comme chacune d’entre DoMyScript.py
elles prend environ 30 secondes avant de se terminer, je voudrais les reléguer à l’arrière-plan pendant que la suivante peut être générée.
J'ai essayé ce que je connais en ajoutant une esperluette comme ci-dessous:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py &; done
Cependant, cela entraîne l'erreur ci-dessous:
-bash: erreur de syntaxe près d'un jeton inattendu `; '
bash
command-line
process
bash-script
ljs.dev
la source
la source
numbers.txt
conteneur255
.Compte tenu du commentaire de Stéphane sur la réponse de 1_CR , vous voulez probablement:
la source
for
plage ... Voici ce qui me rend heureux pour le moment:for((i=1;i<100;i+=1)); do echo $i > numbers.txt;sleep 3; python DoMyScript.py & done
le principal problème qui consiste à obtenir l'exécution du processus en arrière-plan est résolu.<=
dans la question d'origine, la gamme que vous avez fournie était parfaitement adaptée aux informations fournies. Encore une fois, merci pour l'approche différentePerdre le
;
:la source