将curl http响应代码分配给变量

时间:2015-12-09 10:12:59

标签: bash shell curl

我在创建

的bash脚本中接到了以下电话
response= curl -X POST $URL -u "$USER:$PASSWORD" --data-urlencode "key=$key" --data "label=pub_key" -o /dev/null --silent --write-out "%{http_code}"

我可以看到200被写入控制台但是$ response总是为空。

我也试过以下但不是更好。

response= $(curl -X POST $URL -u "$USER:$PASSWORD" --data-urlencode "key=$key" --data "label=pub_key" -o /dev/null --silent --write-out "%{http_code}")

对bash noob的任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

太空 - 最后的边界:

response=$(curl -X ...)

注意:=周围没有空格。 shell在一些地方是白色空间敏感的,变量赋值就是其中之一。

使用空格,如var= command args所示,您在一次性作业中将var设为空,然后运行command