有時(shí)我們?cè)趯懗绦虻臅r(shí)候會(huì)需要調(diào)用系統(tǒng)的某個(gè)命令來完成一些任務(wù)。go語言os/exec
標(biāo)準(zhǔn)庫就提供這種調(diào)用外部命令的功能罚拟。如下面的代碼調(diào)用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
返回的是一個(gè)exec.Cmd
類型的變量指針,代表一個(gè)待運(yùn)行的命令热凹。exec.Cmd
經(jīng)常用到的字段有:
Stdin io.Reader
命令進(jìn)程的輸入
Stdout io.Writer
命令進(jìn)程的輸出
Stderr io.Writer
命令進(jìn)程的錯(cuò)誤輸出
調(diào)用Cmd
的Run
函數(shù)就可以運(yùn)行命令了泵喘。