Не только с jq
, но его достаточно легко комбинировать с небольшим количеством оболочки. Если ваши значения не могут содержать буквальные символы новой строки, это может быть так просто:
curl -X GET -H "X-Vault-Token:{{ vault_token }}" https://fopp.com/v1/ACME/data/SSL/fopp.com \
| jq -r '.data.data.crt, .data.data.key' \
| { IFS= read -r crt && printf '%s\n' "$crt" > /files/nginx/ssl/file1.crt;
IFS= read -r key && printf '%s\n' "$key" > /files/nginx/ssl/file2.key; }
Если значения могут содержать символы новой строки, то вам нужно использовать другой разделитель. Рассмотрим:
curl -X GET -H "X-Vault-Token:{{ vault_token }}" https://fopp.com/v1/ACME/data/SSL/fopp.com \
| jq -j '.data.data.crt, "\u0000", .data.data.key, "\u0000"' \
| { IFS= read -r -d '' crt && printf '%s\n' "$crt" > /files/nginx/ssl/file1.crt;
IFS= read -r -d '' key && printf '%s\n' "$key" > /files/nginx/ssl/file2.key; }