我在shell脚本下运行
var1="'"
json_variable=$var1{"id":158,"name":"stackoverflow"}$var1
echo $json_variable
我的输出低于
'{id:158,name:stackoverflow}'
如何获取以下格式的输出
'{"id":158,"name":"stackoverflow"}'
谢谢
答案 0 :(得分:3)
我认为您正在寻找:
json_variable="'{\"id\":158,\"name\":\"stackoverflow\"}'"
或者您想要
json_variable="'"'{"id":158,"name":"stackoverflow"}'"'"
或
json_variable=\''{"id":158,"name":"stackoverflow"}'\'
或
read json_variable << \EOF
> '{"id":158,"name":"stackoverflow"}'
> EOF
答案 1 :(得分:0)
我不确定为什么在输出中特别需要单引号,但是您的根本问题是您的作业从不将双引号放在首位。首先,使用
正确引用双引号json_variable='{"id":158,"name":"stackoverflow"}'
然后,将单引号添加到echo
命令中:
echo "'$json_variable'"
可以使用相同的技巧在值中添加单引号,而不必担心复杂的报价方案。
json_variable="'$json_variable'"