golang os/exec . Command
时间: 2023-08-24 17:07:25 浏览: 191
`os/exec` 包提供了一个用于执行外部命令的接口,其中 `Command` 函数是 `os/exec` 包的核心之一。
`Command` 函数的定义如下:
```go
func Command(name string, arg ...string) *Cmd
```
该函数接受一个命令名 `name` 和一些可选的参数 `arg`,并返回一个指向 `Cmd` 结构体的指针。`Cmd` 结构体代表了一个正在运行的命令,可以通过它来控制命令的执行和获取输出信息。
例如,以下代码将会在命令行中执行 `ls` 命令,并将输出信息打印到标准输出:
```go
package main
import (
"fmt"
"os/exec"
)
func main() {
cmd := exec.Command("ls")
output, err := cmd.Output()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(output))
}
```
在上面的代码中,`Command` 函数创建了一个 `Cmd` 结构体的实例,代表了 `ls` 命令。然后,我们通过 `Output` 方法执行了该命令,并获取了命令的输出信息。最后,我们将输出信息转换为字符串并打印到标准输出。
需要注意的是,`Command` 函数只是创建了一个 `Cmd` 结构体的实例,它并没有实际执行命令。要执行命令并获取输出信息,需要调用 `Cmd` 结构体的 `Run`、`Output`、`CombinedOutput` 等方法。
另外,通过设置 `Cmd` 结构体的一些属性,我们还可以控制命令的执行方式,例如设置命令的工作目录、环境变量等。
阅读全文