Bash интерпретирует мой аргумент JSON CLI иначе, чем локальный, и игнорирует все ключи, кроме одного - PullRequest
0 голосов
/ 14 марта 2019

Я использую CLI AWS на сервере Jenkins, и для одного из флагов аргумента требуется тело JSON.

Я пытался избежать двойных кавычек и т. Д., Но на Дженкинсе ничего не работает. Локально, однако, все работает отлично. Это моя команда:

aws lambda update-function-configuration \
--region us-east-1 \
--function-name traxcess-web \
--environment '{"Variables":{"DEVEX_CLIENT_ID":"****", "DEVEX_CLIENT_SECRET":"****", "STATIC_DIR":"lib/build"}}'

Ошибка говорит, что я использую "Неизвестные параметры": Unknown options: STATIC_DIR:lib/build}}, DEVEX_CLIENT_SECRET:****,

Другая интересная оговорка: если я загружаю только один аргумент, все работает правильно.

Неправильно ли я предоставляю свой JSON?

Edit:

/opt/runtime/ruby-2.2.6/bin/awssume aws lambda update-function-configuration --region us-east-1 --function-name traxcess-web --environment '{"Variables":{"VAR":"hi", "VAR2":"hi2", "STATIC_DIR":"lib/build"}}'
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters]
To see help text, you can run:

  aws help
  aws <command> help
  aws <command> <subcommand> help

Unknown options: STATIC_DIR:lib/build}}, VAR2:hi2,
...