Я пытаюсь выполнить команду curl, которая использует предопределенную переменную в качестве заголовка.Как передать заголовок в качестве аргумента в команде curl?
header='-H "Content-Type: application/json" -H "userGUID: 7feb6e62-35da-4def-88e9-376e788ffd97" -H "Content-Length: 51"'
И это, по существу локон команда
curl $header -w "http code: %{http_code}\\n" -X POST -d $BODY $URL
который затем возвращает сообщение об ошибке
rl: (6) Could not resolve host: application
curl: (6) Could not resolve host: 7feb6e62-35da-4def-88e9-376e788ffd97"
curl: (6) Could not resolve host: 51"
Это работает, как ожидалось
curl -H "Content-Type: application/json" -H "userGUID: 7feb6e62-35da-4def-88e9-376e788ffd97" -H "Content-Length: 51" -w "http code: %{http_code}\\n" -X POST -d $BODY $URL
Причина Я попытка передать заголовок как переменная, потому что я пишу скрипт, который выполняет цикл и массив, но в настоящее время это не работает с заголовками по какой-то причине. Нет вопросов, передающих аргументы для тела.
Разделение слов делает ваши аргументы заголовка '-H',' "Content-Type:', 'application/json'' и т. Д. Я рекомендую использовать массив для сохранения заголовков. В противном случае вам, вероятно, понадобится 'eval'. – 4ae1e1
Вы выполнили бы команду eval в команде curl? –