Я пишу скрипт, который использует CURL.
Есть некоторые заголовки HTTP, общие для всех запросов.
curl -X GET "..." -H 'accept: */*' -H "api-key: $API_KEY"
Поэтому я хотел бы поместить их в переменную:
HEADERS="-H 'accept: */*' -H \"api-key: $API_KEY\""
curl -X GET "..." $HEADERS ### <-- This is what I want to achieve.
Как видите, для этого нужно сочетание
'
s, потому что он содержит *
, который может расширяться, "
s, потому что есть переменная.
Я пробовал довольно много комбинаций экранирования, смешивания ' и ", создавая строку постепенно, но всегда я получаю Bash, добавляя нежелательные побеги или оставляя те, которые мне нужны.
Как мне добиться того, чтобы оба -H
параметра (то есть все 4 аргумента) в переменной, которую я затем могу использовать в команде?
Есть несколько похожих вопросов, но они указаны c для других случаев.