Как передать переменную в Curl в Bash Script - PullRequest
0 голосов
/ 08 февраля 2020

Как передать переменную в Curl в Bash Script

Я не могу заставить этот curl работать в bash сценарии, используя переменную окружения. Ключ API как-то неверно интерпретируется при передаче через переменную, и я получаю ошибки аутентификации при отправке. Если я подключаю ключ API без кавычек в виде открытого текста, это работает просто отлично. Я пробовал разные формы кавычек и другие комбинации. Любая помощь будет отличной.

Код

#!/bin/bash

source .env

curl -X POST https://api.easypost.com/v2/shipments \
  -u "$EASYPOST_TEST_API_KEY": \
  -d 'shipment[to_address][name]=Dr. Steve Brule' \
  -d 'shipment[to_address][street1]=179 N Harbor Dr' \
  -d 'shipment[to_address][city]=Redondo Beach' \
  -d 'shipment[to_address][state]=CA' \
  -d 'shipment[to_address][zip]=90277' \
  -d 'shipment[to_address][country]=US' \
  -d 'shipment[to_address][phone]=8573875756' \
  -d 'shipment[to_address][email]=dr_steve_brule@gmail.com' \
  -d 'shipment[from_address][name]=EasyPost' \
  -d 'shipment[from_address][street1]=417 Montgomery Street' \
  -d 'shipment[from_address][street2]=5th Floor' \
  -d 'shipment[from_address][city]=San Francisco' \
  -d 'shipment[from_address][state]=CA' \
  -d 'shipment[from_address][zip]=94104' \
  -d 'shipment[from_address][country]=US' \
  -d 'shipment[from_address][phone]=4153334445' \
  -d 'shipment[from_address][email]=support@easypost.com' \
  -d 'shipment[parcel][length]=20.2' \
  -d 'shipment[parcel][width]=10.9' \
  -d 'shipment[parcel][height]=5' \
  -d 'shipment[parcel][weight]=65.9' \

1 Ответ

0 голосов
/ 12 февраля 2020

В соответствии с предложением Гордона Дэвиссона разбить его на минимальный запрос, он начал правильно отправлять. Затем я восстановил его так же, как в моем вопросе выше, и по какой-то причине он работал как шарм. Флаг -x также был невероятно полезен при устранении неполадок, но, во-первых, выяснилось, что с этим изначально не было ничего плохого. Спасибо всем за ответы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...