Не используйте одинарные кавычки. Двойные кавычки внутри одинарных кавычек являются лишь частью значения, например a
или 1
. Они не говорят оболочке расширять кавычку, потому что они не shell кавычки.
Либо используйте двойные кавычки для кавычек всей строки, избегая буквальных кавычек внутри:
-F "docAttributes={...,\"docHash\": \"$checksum256\" ...}"
Или еще лучше, используйте jq
, чтобы безопасно сгенерировать для вас значение JSON. (Выше может произойти сбой, если само значение checksum256
содержит двойные кавычки.)
attrs=$(jq -n --arg ck "$checksum256" '{confidential: "N", ..., docHash: $k}')
curl -X POST ... -F "docAttributes=$attrs"