【发布时间】:2018-09-13 08:03:27
【问题描述】:
我基本上是在用一个简单的 shell 脚本做一个测试 Curl,不幸的是,当我做我的 curl 命令时,因为我以编程方式传递参数,它读取我的字符串中的每个单词作为一个单独的参数,并试图将它们解析为主机,我需要按原样发送整个消息。代码如下:
Name="Bob"
LISTENER_URL='http://httpbin.org/post'
PAYLOAD="Hello my name is" $NAME
curl --request POST --url $LISTENER_URL --data $PAYLOAD --insecure
输出将是 curl 向 url 发送“Hello”,然后无法解析主机:
my
name
is
bob
我确实尝试了以下修改,但无济于事:
curl --request POST --url $LISTENER_URL --data '"'+$PAYLOAD+'"' --insecure
curl --request POST --url $LISTENER_URL --data '"'$PAYLOAD'"' --insecure
还尝试像这样重新声明变量:
PAYLOAD="\"$PAYLOAD\""
【问题讨论】:
-
引用扩展
--data "$PAYLOAD"等怎么样? :)
标签: string bash curl concatenation