Я использую Jenkins Pipeline, используя Groovy sandbox. И я пытаюсь запустить скрипт оболочки в отличной функции sh.
Оригинальный сценарий оболочки
sed -i 's/sometext/'"${othertext}"'/' filename
Я пытаюсь заменить определенный текст другим текстом (взятым динамически). Сценарий отлично работает, когда выполняется напрямую.
Но я хочу использовать его в функции jenkins groovy sh.
sh(script: '<above shell script>', returnStdout:false)
Но есть проблема побега персонажей.
Я пробовал этот способ избежать персонажа
sh (script: '''sed -i 's/sometext/othertext/' filename''', returnStdout:false)
Работает нормально, но othertext
не берется динамически.
Может ли кто-нибудь помочь мне в экранировании персонажей с помощью оригинального сценария?
Или, пожалуйста, предложите другой способ сделать это.