當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


GO Cmd.StderrPipe用法及代碼示例

GO語言"os/exec"包中"Cmd.StderrPipe"類型的用法及代碼示例。

用法:

func(c *Cmd) StderrPipe()(io.ReadCloser, error)

StderrPipe 返回一個管道,該管道將在命令啟動時連接到命令的標準錯誤。

Wait 會在看到命令退出後關閉管道,所以大多數調用者不需要自己關閉管道。因此,在管道的所有讀取完成之前調用 Wait 是不正確的。出於同樣的原因,在使用 StderrPipe 時使用 Run 是不正確的,請參閱 StdoutPipe 示例了解慣用用法。

例子:

package main

import (
	"fmt"
	"io"
	"log"
	"os/exec"
)

func main() {
	cmd := exec.Command("sh", "-c", "echo stdout; echo 1>&2 stderr")
	stderr, err := cmd.StderrPipe()
	if err != nil {
		log.Fatal(err)
	}

	if err := cmd.Start(); err != nil {
		log.Fatal(err)
	}

	slurp, _ := io.ReadAll(stderr)
	fmt.Printf("%s\n", slurp)

	if err := cmd.Wait(); err != nil {
		log.Fatal(err)
	}
}

相關用法


注:本文由純淨天空篩選整理自golang.google.cn大神的英文原創作品 Cmd.StderrPipe。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。