我有一个 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)
谢谢!
只是放在:::中间:
$ 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"; }。