嵌套的 cURL 调用

Nested cURL call

我有一个 cron 任务是用我当前的 ip 地址更新我的 DDNS,并通过 cURL 调用来完成。

问题是调用中传递的参数之一是当前 IP,为了发现 ir,我需要进行另一个 cURL 调用。

我想知道是否可以在一个脚本中嵌套两个 cURL 调用,以使我的 cron 任务避免额外的脚本

示例:

获取我当前使用的 ip

curl ipinfo.io/ip

要更新我的 ddns,我需要做的是:

curl -X PUT "https://api.cloudflare.com/client/v4/zones/2wertyh/dns_records/23ertghj" \
     -H "X-Auth-Email: tomatechines@gmail.com" \
     -H "X-Auth-Key: 123ertgyh" \
     -H "Content-Type: application/json" \
     --data '{"type":"A","name":"qwsdfg.com.br","content":"MY-CURRENT-IP","ttl":1800,"proxied":false}'

我怎样才能将这两个调用放在一起来完成我的 cron 任务

使用command substitution,像这样:

curl -X PUT "https://api.cloudflare.com/client/v4/zones/2wertyh/dns_records/23ertghj" \
     -H "X-Auth-Email: tomatechines@gmail.com" \
     -H "X-Auth-Key: 123ertgyh" \
     -H "Content-Type: application/json" \
     --data '{"type":"A","name":"qwsdfg.com.br","content":"'"$(curl ipinfo.io/ip)"'","ttl":1800,"proxied":false}'

--data 的字符串参数由三个串联部分组成,'beginning' "$(curl ...)" 'ending'(更多详细信息请参阅 this answer)。