GO语言--执行命令行

1. 使用Command生成Cmd结构体

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)
}
posted @ 2020-02-23 14:25  hurz  阅读(3370)  评论(0编辑  收藏  举报