You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu环境下如何从环境变量的JSON中读取指定键

在Ubuntu中访问环境变量内的JSON键值

问题场景

已在Ubuntu系统中将JSON文本存入环境变量:

~ test='{"test": { "mmm":"432"}}'
~ echo $test
{"test": { "mmm":"432"}}

需要访问其中的test键,输出对应的{ "mmm":"432"},希望实现类似echo $test.test的便捷调用效果。

解决方案

1. 使用jq工具(推荐,最便捷)

jq是Ubuntu上专门处理JSON的工具,先安装它:

sudo apt update && sudo apt install jq -y

直接解析环境变量中的JSON:

test='{"test": { "mmm":"432"}}'
echo "$test" | jq '.test'

执行后输出:

{
  "mmm": "432"
}

2. 封装成自定义函数(接近期望的调用格式)

如果想要更贴近$test.test的简洁写法,可以在~/.bashrc(或~/.zshrc,取决于你的shell)中添加如下函数:

json_extract() {
  local var="$1"
  local key="$2"
  echo "${!var}" | jq "$key"
}

添加后执行source ~/.bashrc使函数生效,之后就能这样调用:

test='{"test": { "mmm":"432"}}'
json_extract test '.test'

同样会输出目标内容。

3. 依赖Python(无需额外安装工具)

Ubuntu默认预装Python,可借助其JSON模块解析:

test='{"test": { "mmm":"432"}}'
echo "$test" | python3 -c "import json, sys; print(json.dumps(json.load(sys.stdin)['test']))"

输出结果:

{"mmm": "432"}

内容的提问来源于stack exchange,提问作者432i

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:53:14