You need to enable JavaScript to run this app. 如何在Ubuntu服务器命令行编辑yml文件并正确添加环境变量
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ubuntu服务器命令行编辑yml文件并正确添加环境变量

解决方案

推荐优先使用专门的YAML处理工具yq操作,可完全避免缩进错误问题,对YAML格式兼容性最好:

方法1:使用yq工具(推荐)

  1. 先安装yq:
sudo apt update && sudo apt install yq
# 若apt源无对应包,也可使用snap安装
snap install yq
  1. 直接指定层级添加环境变量,工具会自动匹配原有缩进格式:
# 示例:添加名为MY_NEW_VAR的环境变量,值为test_value
yq e '.services.samson.environment.MY_NEW_VAR = "test_value"' -i docker-compose.yml

如果需要一次性添加多个环境变量,直接追加多条赋值语句即可:

yq e '
.services.samson.environment.MY_NEW_VAR1 = "val1" |
.services.samson.environment.MY_NEW_VAR2 = "val2"
' -i docker-compose.yml

方法2:使用sed命令

如果不方便安装额外工具,可使用sed追加行,需提前核对现有environment下变量的缩进空格数,你给出的示例中environment下的变量前缀为6个空格,按以下格式操作即可:

# 示例:在RAILS_LOG_TO_STDOUT行后追加新的环境变量
sed -i '/^ *RAILS_LOG_TO_STDOUT: 1/a \      MY_NEW_VAR: "test_value"' docker-compose.yml

注意:命令中\后面的空格数要和原有environment下的变量缩进完全一致,你可以打开原文件数一下现有变量前面的空格数,对应修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 06:30:00