将未转义的等号传递给args中的GNU并行

时间:2015-07-22 16:18:35

标签: bash escaping gnu-parallel quoting

我调用了GNU parallel(在OS X Yosemite上,使用MacPorts安装,shell是bash 3.2.57),如下所示:

parallel mycommand -o A=5 -o ::: Y=1 Y=2

意图是并行执行以下命令:

mycommand -o A=5 -o Y=1
mycommand -o A=5 -o Y=2

但它确实运行了这个:

mycommand -o A=5 -o Y\=1
mycommand -o A=5 -o Y\=2

反斜杠导致mycommand无法识别该参数。这是个问题。即使在扫描了手册页并阅读section of the tutorial on quoting之后,我也无法找到让parallel运行命令的任何方法,而无需反斜杠进入。我已尝试将Y=选项放入文件中,我尝试过使用不同嵌套级别的单引号和双引号,但parallel --dry-run的输出始终显示Y\= 。有什么方法可以得到反斜杠吗?

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

parallel eval mycommand -o A=5 -o ::: Y=1 Y=2