Буквенная строка, содержащая escape-косые черты - PullRequest
0 голосов
/ 27 сентября 2018

Мой скрипт groovy вызывает другие команды через vagrant.Одной из таких команд является вывод некоторых цитат из файла в 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" в моем файле groovy, результат для local.conf будет BB_GENERATE_MIRROR_TARBALLS=1 (без кавычек).

Правильный способ сделать это - включить дополнительную обратную косую черту с обеих сторон (3 для groovy, 1 для скрипта bash), однако, когда я это делаю, groovy не запускается и выдает синтаксические ошибки.

Как правильно вставить эту буквальную строку (BB_GENERATE_MIRROR_TARBALLS=\"1\") в groovy?

1 Ответ

0 голосов
/ 28 сентября 2018

В groovy вы можете сделать следующее:

def my_var = /BB_GENERATE_MIRROR_TARBALLS = "1"/
echo my_var >> ${yoctoDir}/build/conf/local.conf
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...