), о которой стоит прочитать подробно. (Ссылка взята из комментария @ John1024.)

ема: Я пишу скрипт, который выполняет несколько HTTP-запросов сcurl и я хочу добавить заголовки к переменной,CURL_HEADERSчтобы мне не приходилось их постоянно печатать. Когда я повторяюCURL_HEADERS переменная в команде curl, одинарные кавычки появляются там, где я их не хочу. Как я могу предотвратить это? (Код ниже упрощен для ясности)

Код

#!/usr/bin/env bash
AUTH_KEY='1234'
set -x
CURL_HEADERS='-H "Authorization: Basic '${AUTH_KEY}'" -H "Content-Type: application/json"'
echo "${CURL_HEADERS}"
curl -s $(echo "${CURL_HEADERS}") 'http://www.example.org' > /dev/null
set +x

Ожидаемый результат:

+ CURL_HEADERS='-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
+ echo '-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
-H "Authorization: Basic 1234" -H "Content-Type: application/json"
++ echo '-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
+ curl -s -H "Authorization: Basic 1234" -H "Content-Type: application/json" http://www.example.org
+ set +x

Фактический вывод

+ CURL_HEADERS='-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
+ echo '-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
-H "Authorization: Basic 1234" -H "Content-Type: application/json"
++ echo '-H "Authorization: Basic 1234" -H "Content-Type: application/json"'
+ curl -s -H '"Authorization:' Basic '1234"' -H '"Content-Type:' 'application/json"' http://www.example.org
+ set +x

Ответы на вопрос(1)

Ваш ответ на вопрос