我的groovy脚本通过流浪汉调用其他命令。这些命令之一是在docker中的文件上回显一些引号。
目标是要在容器中拥有BB_GENERATE_MIRROR_TARBALLS = "1"
。现在要在bash脚本上执行此操作,我将需要以下内容:
BB_GENERATE_MIRROR_TARBALLS = \"1\"
当我也必须避免在常规中使用双引号时,问题就会显现出来。
如果我在常规文件中调用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中的正确方法是什么?
答案 0 :(得分:0)
在groovy
中,您可以执行以下操作:
def my_var = /BB_GENERATE_MIRROR_TARBALLS = "1"/
echo my_var >> ${yoctoDir}/build/conf/local.conf