Следующий бит вывода:
fatal error: gd.h: No such file or directory compilation terminated.
Сообщает вам, что у вас отсутствует заголовочный файл, необходимый программе. В программах на C файлы заголовков обычно содержат объявления функций и другие фрагменты кода, описывающие API библиотеки, используемой этой программой.
В этом случае gd.h принадлежит libgd. Как это сделать, зависит от вашей операционной системы. Часто вам нужно установить два пакета: один для разделяемой библиотеки, а другой для заголовков (libgd и libgd -devel, например ).
Для меня это так
#!/bin/bash
set -x
variable="hello\r\n\r\nworld"
http --json http://example.com \
value="${variable@E}"
Либо используйте $'...'
в назначении переменной, как в
variable=$'hello\r\n\r\nworld'
вместо
variable="hello\r\n\r\nworld"
Или используйте printf
для обработки побегов (это должно работать в любой оболочке POSIXy):
escaped="hello\r\n\r\nworld"
raw=$(printf "%b" "$escaped")
Однако обратите внимание, что подстановка команд съест последний символ новой строки (s ), если они есть, поэтому вам, возможно, придется обойти это, добавив и удалив фиктивный символ в конце:
escaped="hello world\n"
raw=$(printf "%b." "$escaped")
raw=${raw%.}
Затем используйте полученную переменную как обычно.