定义的正确语法是什么: $ data as:
{\"username\":\"[$username]\",\"password\":\"[$password]\",\"webdata\": [$syntax]}" \
并将其替换为我的shell脚本
result=$(curl -D - -k -m 10 -H "Content-type: application/json; charset=UTF-8" \
-d "{\"username\":\"[$username]\",\"password\":\"[$password]\",\"webdata\": [$syntax]}" \
https://${host}/api 2>/dev/null |head -1)
答案 0 :(得分:1)
我将假设bash(> = 3.0);您之前已设置$ username,$ password和$ syntax。 一个简单的选择是:
printf -v data '{"username":"[%s]","password":"[%s]","webdata":[%s]}"' \
"$username" "$password" "$webdata"
(curl的“-d”是隐式ASCII,如果使用任何多字节UTF-8字符,则会遇到麻烦。 使用--data-binary和/或将您的请求写入文件并加载可能更健壮 它带有“--data-binary @ request.tmp”。)