从json获取字段并分配给bash脚本中的变量? [英] get field from json and assign to variable in bash script?

查看:93
本文介绍了从json获取字段并分配给bash脚本中的变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在jsonFile中有一个json存储

I have a json store in jsonFile

{
  "key1": "aaaa bbbbb",
  "key2": "cccc ddddd"
}

我在mycode.sh中有代码:

#!/bin/bash
value=($(jq -r '.key1' jsonFile))
echo "$value"

我运行./mycode.sh后的结果是aaaa 但是如果我只运行jq -r '.key1' jsonFile,结果就是aaaa bbbbb

After I run ./mycode.sh the result is aaaa but if I just run jq -r '.key1' jsonFile the result is aaaa bbbbb

有人可以帮我吗?

推荐答案

使用该行代码

value=($(jq -r '.key1' jsonFile))

您正在将两个值都分配给数组.注意命令周围的外部括号(). 因此,您可以单独访问这些值,也可以回显整个数组的内容.

you are assigning both values to an array. Note the outer parantheses () around the command. Thus you can access the values individually or echo the content of the entire array.

$ echo "${value[@]}"
aaaa bbbb

$ echo "${value[0]}"
aaaa

$ echo "${value[1]}"
bbbb

由于您回显了$value而未指定要获取的值,因此只能获取数组的第一个值.

Since you echoed $value without specifying which value you want to get you only get the first value of the array.

这篇关于从json获取字段并分配给bash脚本中的变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆