如何在Go中传递多个命令?

如何在Go中将多个外部命令传递到一起?我已经试过了这段代码,但是看到一条错误消息exit status 1。


package main


import (

    "io"

    "log"

    "os"

    "os/exec"

)


func main() {

    c1 := exec.Command("ls")

    stdout1, err := c1.StdoutPipe()

    if err != nil {

        log.Fatal(err)

    }


    if err = c1.Start(); err != nil {

        log.Fatal(err)

    }

    if err = c1.Wait(); err != nil {

        log.Fatal(err)

    }


    c2 := exec.Command("wc", "-l")

    c2.Stdin = stdout1


    stdout2, err := c2.StdoutPipe()

    if err != nil {

        log.Fatal(err)

    }


    if err = c2.Start(); err != nil {

        log.Fatal(err)

    }

    if err = c2.Wait(); err != nil {

        log.Fatal(err)

    }


    io.Copy(os.Stdout, stdout2)

}


30秒到达战场
浏览 673回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP