Bash
在單行 bash 循環中使用 &(與號)
我一直在成功使用此命令,它更改配置文件中的變數,然後在循環中執行 Python 腳本:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt; python DoMyScript.py; done
由於每個
DoMyScript.py
實例在終止前需要大約 30 秒才能執行,因此我想將它們降級到後台,同時可以生成下一個實例。我已經嘗試了我熟悉的方法,方法是添加一個 & 符號,如下所示:
for((i=114;i<=255;i+=1)); do echo $i > numbers.txt; python DoMyScript.py &; done
但是,這會導致以下錯誤:
-bash: syntax error near unexpected token `;'
刪除
;
之後&
。這是語法要求for((i=114;i<=255;i+=1)); do echo $i > numbers.txt;python DoMyScript.py & done
鑑於 Stephane 對1_CR’s answer的評論,您可能想要:
for i in {114..255}; do { echo $i > numbers.txt && python DoMyScript.py; } & done