繁体   English   中英

你如何在 Bash 脚本中传递一个变量来卷曲

[英]How Do You Pass a Variable to Curl in Bash Script

你如何在 Bash 脚本中传递一个变量来卷曲

我无法使用环境变量让这个 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' \

根据戈登戴维森将其分解为最小请求的建议,它开始正确发送。 然后我像上面的问题一样重建了它,无论出于何种原因,它都像魅力一样。 -x标志在解决此问题时也非常有用,但首先发现它没有任何本质上的错误。 谢谢大家的回复!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM