echo 'name=$get_name
pass=$get_pass
value=$get_value
key=$get_key
port=$get_port
server_ip=$get_ip' | jq -Rs '
split("\n")
| map(capture("(?<k>^[^=]*)=(?<v>.*)") | {(.k): .v} )
| add'
производит вывод в указанном вами формате:
{
"name": "$get_name",
"pass": "$get_pass",
"value": "$get_value",
"key": "$get_key",
"port": "$get_port",
"server_ip": "$get_ip"
}
Очевидно, что если вы хотите, чтобы $ get_name оценивался во время echo
, вы бы использовали двойные кавычки.