读取 JSON 文件并解析以获取 shell 脚本中的元素值

New*_*bie 4 shell json

我有一个名为 test.json 的 json 文件,其中包含以下内容。

{
        "run_list": ["recipe[cookbook-ics-op::setup_server]"],
    "props": {
        "install_home": "/test/inst1",
            "tmp_dir": "/test/inst1/tmp",
        "user": "tuser
                 }
}
Run Code Online (Sandbox Code Playgroud)

我想将此文件读入 shell 脚本中的变量,然后使用 expr 提取 install_home、user 和 tmp_dir 的值。有人可以帮忙吗?

道具=cat test.json

可以将 json 文件放入变量中。现在我如何使用 expr 提取值。任何帮助将不胜感激。

Sah*_*hit 5

安装jq

yum -y install epel-release
yum -y install jq
Run Code Online (Sandbox Code Playgroud)

通过以下方式获取值

install_home=$(cat test.json  | jq -r '.props.install_home')
tmp_dir=$(cat test.json  | jq -r '.props.tmp_dir')
user=$(cat test.json  | jq -r '.props.user')
Run Code Online (Sandbox Code Playgroud)