数组参数的GNU并行组合?

lid*_* xu 4 bash gnu-parallel

我有一个 bash 功能:

println(){echo "$1" "$2" "$3"}
Run Code Online (Sandbox Code Playgroud)

export -f println
Run Code Online (Sandbox Code Playgroud)

我想使用 GNU parallel 来运行 println。该命令应接受以下数组的输入:

a1=(a b c) 

a2=(x y)

a3=(z1 z2)
Run Code Online (Sandbox Code Playgroud)

它应该输出以下内容:

   a x a3
   a y a3
   b x a3
   b y a3
   c x a3
   c y a3
Run Code Online (Sandbox Code Playgroud)

哪个命令可以做到这一点?我希望命令如下:

 parallel ... println ... a1 ... a2 .... a3
Run Code Online (Sandbox Code Playgroud)

谢谢!

Kam*_*Cuk 5

只是放在:::中间:

$ parallel println ::: "${a1[@]}" ::: "${a2[@]}" ::: "${a3[@]}"
a y z1
a x z1
a y z2
a x z2
b x z2
b x z1
b y z2
b y z1
c x z2
c x z1
c y z1
c y z2
Run Code Online (Sandbox Code Playgroud)

println(){echo "$1" "$2" "$3"}是无效的,它需要println(){ echo "$1" "$2" "$3"; }