Мне нужно добавить строку в файл. Строка состоит из некоторого префикса + переменной. Это в конвейере Jenkins с использованием синтаксиса Groovy, поэтому единственный способ прочитать значение переменной — использовать многострочные двойные кавычки 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





Вы пытались избежать знака $ косой чертой, как указано в ошибке?
Кроме того, вы используете ту же двойную кавычку, попробуйте заменить команду «sh» на тройную одинарную кавычку и используйте двойную кавычку для перенаправления оболочки, как вы сделали сейчас.
Или последний вариант, вы можете избежать всего выражения:
\\" выражать \\"
Спасибо. Замена внешнего """ на ''' добилась цели.
'''