Как передать контекстный путь к сообщению curl - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь вызвать службу, как показано ниже, для создания объекта, используя шаблон Json в качестве входных данных для службы, и службе требуется передать следующее {Dynamicvalue}. Кто-нибудь может помочь?

Dynamicvalue=$1
curl -k --silent -X POST --header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "$AUTH_HEADER_VALUE" \
-d @"$SLOCAL_FILE" "https://test.com/${1:?}/testapi"

Я использую Shell Script.

Dynamicvalue - это имя приложения, которое постоянно меняется.

Я запускаю скрипт, передавая Значение для Dynamicvalue выглядит следующим образом:

./testscript.sh invest_domain # Invest_domain is the appname

после запуска сценария $AUTH_HEADER_VALUE и $SLOCAL_FILE загружаются правильно, за исключением аргумента, который я передаю, и на экране отображается ошибка

  Calling testapi service.

testcript. sh: строка 255: 1: параметр не задан или не задан

Но значение устанавливается следующим образом. Dynamicvalue = $ 1

1 Ответ

0 голосов
/ 08 января 2020

Просто используйте переменную оболочки:

#!/bin/bash

dynamicvalue="$1"
AUTH_HEADER_VALUE='...'
LOCAL_FILE='...'

curl -k --silent -X POST --header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header "$AUTH_HEADER_VALUE" \
-d @"$SLOCAL_FILE" "https://test.com/${dynamicvalue:?}/testapi"

Использование

./script appName
...