Дженкинс: экранирование кавычек при выполнении сценария Bash / Shell - PullRequest
0 голосов
/ 15 ноября 2018

У меня возникли проблемы с пониманием того, как передать строку, которая должна содержать пробелы и кавычки, через параметр jenkins в команду execute shell. Вот упрощенная версия:

Сценарий оболочки на сервере Jenkins :

#!/bin/sh
str_line=$1

/home/user/aws-cli-wrapper blahblah wrapper-command $str_line

Выполнить команду оболочки :

./wrapper-script $str_line

Я передаю "aws ec2 describe-instances" внутри поля параметров jenkins (включая кавычки), но вывод консоли выводит следующее, что, по-моему, приводит к некорректной работе скрипта.

'"aws' ec2 'describe-instances"'

Может ли кто-нибудь пролить свет на то, как правильно пропустить строку как одну длинную строку (если это возможно)?

Мне также понадобится экранировать кавычки, например:

"aws ec2 describe-instances --filters \"Name=instance-state-name,Values=running\" --query \"Reservations[].Instances[]\" --output json --region eu-west-1"`

Но я подумала, может быть, по одному ребенку за шаг :)

Извините, если это простой / глупый ответ, но я не смог найти пост, который ответил на мой вопрос.

...