📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / go / 系统

GO语言--执行命令行

2020-06-20 20:13 · 约 674 字 · 浏览 2,352 次系统

GO语言--执行命令行

1. 使用Command生成Cmd结构体

import (
    "os/exec"
)

cmd := exec.Command("ls", "-l")

2.执行命令

两种方式

1. func (*Cmd) Run

执行命令并等待命令执行结束

func main() {
    cmd := exec.Command("tr","a-z","A-Z")
    cmd.Stdin = strings.NewReader("abcdefg")
    var out bytes.Buffer
    cmd.Stdout = &out
    err := cmd.Run()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(out.String())

2. func (*Cmd) Start

执行命令但不等待执行结果
使用wait 等待执行结束

func main() {
    cmd := exec.Command("sleep", "5")
    err := cmd.Start()
    if err != nil {
        log.Fatal(err)
    }
    log.Printf("Waiting for command to finish...")
    err = cmd.Wait()
    log.Printf("Command finished with error: %v", err)
}
← 返回《go》目录书架 →