如何从bash中的变量的curl响应中获取字符串?

时间:2018-11-04 18:41:02

标签: bash curl grep

bash脚本发送一次curl 卷曲响应示例为

    {"code":"2aaea70fdccd7ad11e4ee8e82ec26162","nonce":1541355854942}

我需要获取随机代码“ 2aaea70fdccd7ad11e4ee8e82ec26162”(不带引号)并在bash脚本中使用它。

2 个答案:

答案 0 :(得分:2)

使用jq从JSON中提取值,并进行命令替换以捕获命令的输出:

code=$(curl ... | jq -r '.code')

-r--raw)直接打印字符串,而不是像在JSON中那样引用它。

答案 1 :(得分:0)

如果不想安装jq,也可以通过sed命令来实现:

json=`curl ...`
code=$(echo "$json" | sed -nE 's/.*"code":"([^\"]*)",".*/\1/p')