如何在gnu并行中分配变量?

nac*_*cab 1 variable-assignment gnu-parallel

我想在传递给的命令中分配一个变量parallel

parallel "my_variable={}_33; echo $my_variable" ::: a b c
Run Code Online (Sandbox Code Playgroud)

输出应为:

# a_33
# b_33
# c_33
Run Code Online (Sandbox Code Playgroud)

当然,这只是一个玩具示例。在真实的示例中,我想对该变量执行其他操作。

Ole*_*nge 5

您是如此接近自己解决问题。您只是忘记了“和”之间的区别:

parallel 'my_variable={}_33; echo $my_variable' ::: a b c
Run Code Online (Sandbox Code Playgroud)

如果您正在做高级工作,请记住可以使用bash函数:

doit() {
   echo Doing it for $1
   sleep 2
   echo Done with $1
}
export -f doit
parallel doit ::: 1 2 3
Run Code Online (Sandbox Code Playgroud)