Skip to content

スクリプトをGoで書く

bitfield/scriptというライブラリがある。そうでなくても、以下のような記法でパイプを繋ぐことは可能じゃないか。

type Prog func(path string, args ...string) Prog
p := exec.New()
p.Program("ls")("wc", "-l")
err := p.WithReader(stdin).WithWriter(stdout).Run()
// Outputを返してもいいかもしれない
w := p.Start()
err := w.Wait()