有时我们在写程序的时候会需要调用系统的某个命令来完成一些任务。go语言os/exec
标准库就提供这种调用外部命令的功能。如下面的代码调用ls
命令来查看指定目录下面的文件。
package main
import (
"os"
"os/exec"
)
func ls(path string) error {
cmd := exec.Command("ls", path)
cmd.Stdout = os.Stdout
return cmd.Run()
}
func main() {
err := ls("/")
if err != nil {
panic(err)
}
}
exec.Command
返回的是一个exec.Cmd
类型的变量指针,代表一个待运行的命令。exec.Cmd
经常用到的字段有:
Stdin io.Reader
命令进程的输入
Stdout io.Writer
命令进程的输出
Stderr io.Writer
命令进程的错误输出
调用Cmd
的Run
函数就可以运行命令了。