GO语言"os/exec"包中"Cmd.StdoutPipe"类型的用法及代码示例。
用法:
func(c *Cmd) StdoutPipe()(io.ReadCloser, error)
StdoutPipe 返回一个管道,该管道将在命令启动时连接到命令的标准输出。
Wait 会在看到命令退出后关闭管道,所以大多数调用者不需要自己关闭管道。因此,在管道的所有读取完成之前调用 Wait 是不正确的。出于同样的原因,使用StdoutPipe 时调用Run 是不正确的,请参阅示例以了解惯用用法。
例子:
package main
import (
"encoding/json"
"fmt"
"log"
"os/exec"
)
func main() {
cmd := exec.Command("echo", "-n", `{"Name": "Bob", "Age": 32}`)
stdout, err := cmd.StdoutPipe()
if err != nil {
log.Fatal(err)
}
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
var person struct {
Name string
Age int
}
if err := json.NewDecoder(stdout).Decode(&person); err != nil {
log.Fatal(err)
}
if err := cmd.Wait(); err != nil {
log.Fatal(err)
}
fmt.Printf("%s is %d years old\n", person.Name, person.Age)
}
相关用法
- GO Cmd.StdinPipe用法及代码示例
- GO Cmd.StderrPipe用法及代码示例
- GO Cmd.Start用法及代码示例
- GO Cmd.Output用法及代码示例
- GO Cmd.Run用法及代码示例
- GO Cmd.CombinedOutput用法及代码示例
- GO Chmod用法及代码示例
- GO CanBackquote用法及代码示例
- GO CopyN用法及代码示例
- GO CopyBuffer用法及代码示例
- GO CreateTemp用法及代码示例
- GO Cut用法及代码示例
- GO CIDRMask用法及代码示例
- GO ContainsRune用法及代码示例
- GO Cbrt用法及代码示例
- GO Copysign用法及代码示例
- GO Compare用法及代码示例
- GO Cosh用法及代码示例
- GO Config用法及代码示例
- GO Count用法及代码示例
注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Cmd.StdoutPipe。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。