我想在終端上運行一個for循環,我想把每個迭代發送到後臺進程,以便它們全部同時運行。爲什麼是「&;」 bash中的語法無效?
以下是運行一個命令由一個
for i in *.sra; do fastq-dump --split-files $i ; done # ";" only
我已經強調了分號。
同時運行這工作
for i in *.sra; do fastq-dump --split-files $i & done # "&" only
但是這給出了一個錯誤
for i in *.sra; do fastq-dump --split-files $i & ; done # "& ;"
如果有一個人解釋這到底是怎麼回事這將是很好。我知道這應該寫在一個合適的縮進shell腳本的方式,但有些時候我只有這個命令來運行。
感謝
在發佈您的問題之前學會使用http://shellcheck.net。錯誤標記爲「SC1045:它不是'foo&; bar',只是'foo&bar'。祝你好運。 – shellter