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。可以是任何订单。