为什么并行命令在从文件中获取输入时不能使用反斜杠?



考虑以下文件保存为commands.txt

ls 
&& pwd
ls 
&& pwd

现在

bash commands.txt

按预期工作

LICENSE
/home/username/utilities
LICENSE
/home/username/utilities

,

parallel < commands.txt

给出错误

/bin/bash: -c: line 0: syntax error near unexpected token `&&'
/bin/bash: -c: line 0: `&& pwd'
ls: cannot access '': No such file or directory
/bin/bash: -c: line 0: syntax error near unexpected token `&&'
/bin/bash: -c: line 0: `&& pwd

为什么用分隔的相同命令的多行似乎不能与parralel一起工作?

为什么用分隔的同一命令的多行似乎不能像这样并行工作?

因为parallel不解析,并为每一行执行一个单独的shell。

如果您的输入在每个组后面都有nn(并且只在那里),您可以:

cat commands.txt | parallel -d 'nn' 

相关内容

最新更新