[英]A literal string containing escape slashes on groovy
我的常规脚本通过流浪汉调用其他命令。 这些命令之一是在docker中的文件上回显一些引号。
目标是,在容器内,我要BB_GENERATE_MIRROR_TARBALLS = "1"
。 现在要在bash脚本上执行此操作,我将需要以下内容:
BB_GENERATE_MIRROR_TARBALLS = \\"1\\"
当我也必须避免在常规中使用双引号时,问题就显现出来了。
如果我在groovy文件中调用vagrant("echo BB_GENERATE_MIRROR_TARBALLS = \\\\\\"1\\\\\\" >> ${yoctoDir}/build/conf/local.conf"
,则local.conf
上的结果将为BB_GENERATE_MIRROR_TARBALLS=1
(不带引号)。
正确的方法是在两侧都包含一个额外的反斜杠(groovy为3,bash脚本为1),但是当我这样做时,groovy无法运行并给我语法错误。
将这种文字字符串( BB_GENERATE_MIRROR_TARBALLS=\\"1\\"
)插入到Groovy中的正确方法是什么?
在groovy
您可以执行以下操作:
def my_var = /BB_GENERATE_MIRROR_TARBALLS = "1"/
echo my_var >> ${yoctoDir}/build/conf/local.conf
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.