【发布时间】:2016-12-14 01:00:36
【问题描述】:
我正在为流行的命令行工具(ansible-playbook)编写一个 go 包装器,我需要通过 exec.Command 调用传递一个参数。 bash 等价物是:
MY_VAR=some_value ansible-playbook -i custom-inventory playbook.yml
以前我只是使用 os.Setenv 导出 MY_VAR,但这会导致 playbook 的并行执行出现问题。所以我想在命令前面传递 var,以便每个调用都有它自己的这个 var 的值。
我不确定如何使用 exec.Command 执行此操作,因为该函数的第一个参数是“命令”。有什么建议吗?
edit:我尝试使用 Cmd 结构的 Env 字段,但这会覆盖所有环境变量。我有大量的配置集,我只想覆盖这个特定的环境变量。这不可能吗??
【问题讨论】:
标签: go