java - 如何在 Linux 操作系统上运行 gradle 脚本时转义空格?

标签 java gradle groovy

我正在 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 only 的标签

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

最佳答案

这是exec使用进程而不是shell。您不能在此处引用以使其正常工作。 commandLine要么采用数组或可迭代作为参数。例如:

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

关于java - 如何在 Linux 操作系统上运行 gradle 脚本时转义空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47642284/

相关文章:

java - 如何在同一屏幕上拥有按钮和自定义绘画 View ?安卓

安卓工作室 : Error: Could not create the Java Virtual Machine

java - spring-cloud 和 spring-cloud-gcp 有通用的 BOM 文件吗?

grails - 如何在Grails Log4j DSL中使用xml或html布局

grails - 使用JSON构建器如何将 map 填充到对象数组的每个对象中

java - 根据标识符选择类别的设计

java - 对单个进程集体使用多个线程

java - 如何根据 ArrayList 包含的元素的属性返回 ArrayList 中的索引

java - 运行自定义 Docker 镜像后出现 "Activemq not found"错误

android - Android Studio 中不支持的类型 'add-resource'