Некоторые исследования выявили несколько полезных сообщений об обмене стеками, а именно: раскрывающая переменная в CURL , но этот ответ, похоже, неправильно обрабатывает переменные bash, в которых есть пробелы.
IЯ устанавливаю переменную для вывода awk, анализирую строку для подстроки (фактически сокращая до 150 символов).Строка, которую я пытаюсь POST с помощью curl, содержит пробелы.
Когда я использую следующие аргументы curl, переменная POST Body
устанавливается в части строки перед первым пробелом.
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/GUID/SMS/Messages.xml' -d 'From=DIDfrom' -d 'To=DIDto' -d 'Body="'$smsbody'" -u SECGUID
smsbody
устанавливается как:
smsbody="$(echo $HOSTNAME$ $SERVICEDESC$ in $SERVICESTATE$\: $SERVICEOUTPUT$ | awk '{print substr($0,0,150)}')"
Таким образом, единственная часть smsbody
, которая POSTed это $HOSTNAME$
(которая является строкой без пробелов).
Какой синтаксис curl следует использовать для правильного вложения переменной bash для расширения, но при этом ее следует рассматривать как одно поле данных?
Кажется, довольно тривиально, но я какое-то время безуспешно смешивался с цитатами.Я полагаю, что кто-то с лучшим CLI-фу может справиться с этим за секунду.
Спасибо!