use*_*373 1 syntax bash for-loop
我试图在终端上运行for循环,我希望将每次迭代发送到后台进程,以便所有这些循环同时运行.
以下是逐个运行的命令
for i in *.sra; do fastq-dump --split-files $i ; done # ";" only
Run Code Online (Sandbox Code Playgroud)
我突出了分号.
同时运行这个工作
for i in *.sra; do fastq-dump --split-files $i & done # "&" only
Run Code Online (Sandbox Code Playgroud)
但这会给出错误
for i in *.sra; do fastq-dump --split-files $i & ; done # "& ;"
Run Code Online (Sandbox Code Playgroud)
如果有人解释这里发生的事情会很好.我知道这应该用shell脚本方式编写,并有适当的缩进,但有时我只有这个命令才能运行.
谢谢
&并且;都终止它们之前的命令.
你写的& ;不能写,; ;或者& &因为语言只允许命令终止一次(并且不允许将零字列表作为命令).
因此:for i in *.src; do fastq-dump --split-files "$i" & done完全正确,并且不需要额外的;.
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |