如何在输入参数中使用exec()?

时间:2017-10-19 11:43:32

标签: go

如何在go中使用带有多个参数的exec?我在go中找到了一个exec的例子,但我不明白如何使用多个args,这就是我尝试过的:

cmdName := os.Args[1]

cmdArgs := []string{os.Args[1:]}

cmd := exec.Command(cmdName, cmdArgs...)

1 个答案:

答案 0 :(得分:1)

以下是如何将exec与多个参数一起使用的示例:

package main

import (
    "fmt"
    "log"
    "os"
    "os/exec"
)

func main() {
    args := os.Args[1:]

    fmt.Printf("%s\n", args)

    res, err := exec.Command("ls", args...).Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%q\n", string(res))
}

没有args:

echo -e $(go run args.go )
[] "args.go
file1
file2
file3
"

使用-s-r args:

echo -e $(go run args.go -s -r )
[-s -r] "total 4
0 file3
0 file2
0 file1
4 args.go
"