Вложенный вызов cURL
У меня есть одна задача cron - обновить мой DDNS с помощью текущего IP-адреса и сделать это с помощью вызова cURL.
Проблема заключается в том, что одним из параметров, передаваемых в вызове, является CURRENT IP, и для того, чтобы обнаружить, что мне нужно сделать еще один вызов 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
1 ответ
Используйте подстановку команд, например так:
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'
(подробнее см. в этом ответе).