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

Linux下无需额外软件如何从yaml文件提取变量导出为环境变量

实现方案

你给出的file.yaml内容如下:

# input file.yaml
conda_name: "test"
user_name: "foo"

不需要安装额外依赖的最优实现如下:

单行直接生效命令

你可以直接使用兼容性更强的命令:

export $(grep '^user_name:' file.yaml | sed 's/.*: *"\?\([^"]*\)"\?$/user_name=\1/')

也可以基于你已完成的逻辑扩展,调整sed规则去除空格、引号即可:

export $(grep 'user_name:' file.yaml | sed -e 's/:/=/g' -e 's/[ "]//g')

效果验证

执行完成后运行如下命令验证变量是否导出成功:

echo $user_name

正常会输出foo

注意事项

  • grep加^匹配行首是为了避免匹配到yaml文件注释中的user_name字段,可靠性更高
  • 如果需要该环境变量永久生效,可将上述export命令写入你当前shell的配置文件(~/.bashrc/~/.zshrc等),每次终端启动会自动加载
  • 用到的grep、sed均为类Unix系统默认预装工具,无需额外安装依赖,完全符合你的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:24:01