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

如何在GitHub Actions的Elixir脚本中向环境变量指定文件追加内容?

在Elixir中实现GitHub Actions输出值的写入

你之前的尝试都没命中核心逻辑:

  • IO.puts仅会把字符串输出到控制台,不会执行命令或写入文件;
  • System.cmd默认不通过shell解析重定向符号,所以>>会被当成echo的参数,无法实现追加写入文件的效果。

推荐方案:用Elixir原生文件操作(更高效安全)

直接用Elixir内置的文件函数完成追加写入,不需要依赖shell,还能避免路径特殊字符的转义问题:

# 获取环境变量中的文件路径
output_file = System.get_env("GITHUB_OUTPUT")
# 以追加模式写入内容,末尾加换行符保证格式正确
File.write(output_file, "key=value\n", [:append])

备选方案:通过shell命令实现

如果一定要用shell逻辑,需要让System.cmd调用shell来解析重定向语法:

output_file = System.get_env("GITHUB_OUTPUT")
System.cmd("bash", ["-c", "echo 'key=value' >> #{output_file}"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:55:33