У меня возникли проблемы с пониманием того, как передать строку, которая должна содержать пробелы и кавычки, через параметр 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"`
Но я подумала, может быть, по одному ребенку за шаг :)
Извините, если это простой / глупый ответ, но я не смог найти пост, который ответил на мой вопрос.