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

YQ v4如何将YAML转为.env格式并保留字符串引号?

解决yq v4转换YAML到.env时字符串引号丢失的问题

问题场景

给定如下YAML结构:

test:
  A: "customData"
  B: 123

需要转换为.env格式:

A="customData"
B=123

原命令yq '.test | to_entries | .[] | .key + "=" + .value' ./input.yaml > ./.env执行后,字符串的引号会丢失,且早期版本的tostring函数在v4中失效,style="double"也无法解决。

解决方案

使用yq v4内置的@sh格式化函数,它会自动按照shell兼容的格式处理值,给字符串添加双引号,数字等类型保持原样:

yq '.test | to_entries | .[] | .key + "=" + (.value | @sh)' ./input.yaml > ./.env

效果验证

执行上述命令后,输出的.env内容与预期一致:

A="customData"
B=123

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:22:32