作者:黑焰2502887807 | 来源:互联网 | 2023-01-18 18:04
给定一个JSON文件,arguments.json
:
{"dagger": true, "version": false, "nether_strike": true,
"greater_bash": "5", "FILE": "ancientscroll.txt",
"empower_haste": "1", "help": false}
我可以jq
在shell中使用并单独初始化变量:
dagger=$(cat arguments.json | jq '.["dagger"]')
greater_bash =$(cat arguments.json | jq '.["greater_bash"]')
echo $dagger
echo $greater_bash
有没有办法读取JSON文件中的所有键值对,然后在shell中相应地初始化所有变量?
1> chepner..:
您可以遍历键/值对并用于declare
动态创建变量名称.
while read -r name value; do
declare "$name=$value"
done <<(jq -r 'to_entries[] | "\(.key) \(.value)"' arguments.json)