首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Go中调用exec.Cmd()之后修改参数

在Go中调用exec.Cmd()之后修改参数
EN

Stack Overflow用户
提问于 2017-12-06 05:35:01
回答 1查看 208关注 0票数 1

我试图使用exec.Cmd(command, flags...)运行命令,并希望在调用cmd.Run()函数之前具有修改参数的灵活性。

例如:

代码语言:javascript
复制
cmd := exec.Command("echo", "hello world")
cmd.Env = []string{"env1=1"}
cmd.Args = []string{"echo2", "oh wait I changed my mind"}
cmd.Run()

上面的代码似乎总是运行echo hello world,而不是echo2 oh wait I changed my mind

我是否正确地期望运行echo2而不是echo

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-06 06:43:02

当将命令更改为执行时,还必须像在cmd.Path中一样设置exec.Command

代码语言:javascript
复制
cmd := exec.Command("echo", "hello world")
cmd.Env = []string{"env1=1"}
cmd.Args = []string{"echo2", "oh wait I changed my mind"}

lp, err := exec.LookPath("echo2")
if err != nil {
    // handle error
}

cmd.Path = lp
if err := cmd.Run(); err != nil {
    // handle error
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47667479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档