Java 在Linux操作系统上运行gradle脚本时,如何逃逸其中的空间?

Java 在Linux操作系统上运行gradle脚本时,如何逃逸其中的空间?,java,gradle,groovy,Java,Gradle,Groovy,我正在windows和Linux操作系统上运行我的gradle脚本。当我在windows操作系统上运行它时,它运行良好。我正在尝试执行hg命令来创建标记并将其推送到存储库。脚本运行良好。问题是标记名。我使用下面的命令应用标记,该命令在windows操作系统上运行良好。gradle脚本正在运行此命令指挥部 commandLine "hg tag -r $hash \"Build $cbversion\"".split() 但是同一命令在Linux操作系统上运行时抛出了一个错误,并且没有应用Bui

我正在windows和Linux操作系统上运行我的gradle脚本。当我在windows操作系统上运行它时,它运行良好。我正在尝试执行hg命令来创建标记并将其推送到存储库。脚本运行良好。问题是标记名。我使用下面的命令应用标记,该命令在windows操作系统上运行良好。gradle脚本正在运行此命令指挥部

commandLine "hg tag -r $hash \"Build $cbversion\"".split()
但是同一命令在Linux操作系统上运行时抛出了一个错误,并且没有应用Build 1.2.3.4名称的标记

commandLine "hg tag -r $hash Build $cbversion".split()
然后它只创建名为Build的标记


有人能告诉我如何克服这个问题吗?

这是执行一个进程而不是shell。你不能在这里引用,使它的工作。将数组或可迭代作为参数。例如:

commandLine 'hg', 'tag', '-r', hash, "Build $cbversion"

你试过单引号吗?命令行“hg tag-r$hash'Build$cbversion'”.split()我也尝试过这个命令行“hg tag-r$hash Build$cbversion'.split()