json – 在bash中将heredoc声明压缩到一行?

前端之家收集整理的这篇文章主要介绍了json – 在bash中将heredoc声明压缩到一行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个可以在bash脚本中声明一个 JSON字符串:
local my_var="foobar"
   local json=`cat <<EOF
  {"quicklock":"${my_var}"}
EOF`

上面的heredoc有效,但我似乎无法用任何其他方式格式化它,它实际上必须看起来完全像那个大声笑.

有没有办法让命令在一行上,如下所示:

local json=`cat <<EOF{"quicklock":"${my_var}"}EOF`

那会更好,但似乎没有采取,显然只是因为这不是EOF如何工作,我想大声笑.

我正在寻找一种简单的方法来在一个文件中声明JSON:

>不需要大量的逃避字符.
>这允许动态插值变量.

注意:我想要使用的实际JSON具有多个具有许多键/值对的动态变量.请外推.

解决方法

为什么不用 jq?它非常适合管理字符串插值并且它会破坏你的结构.
$echo '{}' >> foo.json
$local myvar="assigned-var"
$jq --arg ql $myvar '.quicklock=$ql' foo.json

然后,在jq调用的另一端出现的文本可以写入文件或任何你想做的事情.文字看起来像这样:

{"quicklock"="assigned-var"}
原文链接:https://www.f2er.com/js/159340.html

猜你在找的JavaScript相关文章