Answers:
假设您要运行十次,此语法将起作用:
parallel -n0 foo.sh ::: {1..10}
parallel
需要某个长度为(::: {1..10}
)的输入序列,并且您需要忽略输入序列(-n0
)的内容,您只需关心其长度即可。
原始命令:parallel foo.sh
,不包含任何输入序列来指示所需的并行度。神秘的警告告诉您parallel
即将开始侦听终端的输入序列,而这可能不是您想要的。
这是教程示例:
seq 10 | parallel -n0 my_command my_args
这个怎么运作:
parallel
总是从某个地方获取输入序列。它可以是一个以行内空格分隔的序列,然后以:::
文件或类似文件的源(例如管道)中的以换行符分隔的序列开头或。在此示例中,输入序列来自管道。seq 10
产生一个以换行符分隔的数字序列(从1到10)。-n0
选项告诉parallel忽略输入序列中的值。我们只关心序列的长度,而不是内容。即使不使用数字,该命令仍将执行十次。另一个例子:
parallel -n0 echo -n 'x' ::: {1..5}
这个怎么运作:
{1..5}
产生一个由空格分隔的数字序列(从一到五)。-n0
忽略序列值(我们'x'
每次都回显字符串)。xxxxx
相比于:
parallel echo -n ::: {1..5}
这个怎么运作:
{1..5}
产生一个由空格分隔的数字序列(从一到五)。echo
。订购不保证。43215
。可以是任何订单。