sh如何将变量的值附加到文件中sh用双引号引起来的多行

时间:2019-04-09 02:41:30

标签: jenkins-pipeline sh groovyshell

我需要在文件中附加一个字符串。该字符串由一些前缀+变量组成。 这是在使用Groovy语法的Jenkins管道中,因此读取变量值的唯一方法是使用多行双引号sh。

sh """
  ...some lines of code affecting the same scope...

  echo "sdk.dir=${ANDROID_HOME}" > local.properties

  ...some lines of code affecting the same scope...
  """

实际:

WorkflowScript: 101: illegal string body character after dollar sign;

   solution: either escape a literal dollar sign "\$5" or bracket the value expression "${5}" @ line 101, column 49.

     echo "sdk.dir=${ANDROID_HOME}" > local

1 个答案:

答案 0 :(得分:1)

您是否尝试过将斜线转义为$符号?

您还使用相同的双引号,请尝试将“ sh”命令替换为三重单引号,然后像现在一样使用双引号进行Shell重定向。

或者最后一个选项,您可以转义整个表达式:

\\”表达\\”