Bash 在args中将未转换的等号传递给GNU并行

Bash 在args中将未转换的等号传递给GNU并行,bash,escaping,gnu-parallel,quoting,Bash,Escaping,Gnu Parallel,Quoting,我调用了GNU并行(在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无法识

我调用了GNU并行(在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
无法识别该参数。这是一个问题。即使在扫描手册页并阅读了之后,我也无法找到任何方法让
并行运行命令,而不让反斜杠进入其中。我尝试过将
Y=
选项放入文件中,尝试过使用不同嵌套级别的单引号和双引号,但是
parallel--dry run
的输出总是显示
Y\=
。有什么方法可以去掉反斜杠吗?

这应该可以做到:

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

如果您使用的是bash,它通常会对\=。