exec.Command带有变量参数

时间:2016-08-30 18:20:09

标签: variables go exec

我正在尝试将参数传递给exec.Command。该参数的 Part 是一个变量。

a := fileName
exec.Command("command", "/path/to/"a).Output()

我不知道如何处理这个问题,我认为我需要在通过之前完全形成论点,但我也在努力解决这个问题。我不知道怎么做:

a := fileName
arg := "/path/to/"a
exec.Command("command", arg).Output()

2 个答案:

答案 0 :(得分:2)

在Go中,字符串与+

连接在一起
exec.Command("command", "/path/to/" + a)

您还可以使用格式化功能

exec.Command("command", fmt.Sprintf("/path/to/%s", a))

但在这种情况下,使用filepath.Join

可能更合适
dir := "/path/to/"
exec.Command("command", filepath.Join(dir, a))

答案 1 :(得分:0)

我通常使用这种方法:

a := fileName
cmdArgs := []string{"/path/to/" + a, "morearg"}
out, err := exec.Command("command", cmdArgs...).Output()