pkg gosh, func BuildGoPkg(*Shell, string, string, ...string) string
pkg gosh, func InitChildMain()
pkg gosh, func InitMain()
pkg gosh, func NewPipeline(*Cmd, ...*Cmd) *Pipeline
pkg gosh, func NewShell(TB) *Shell
pkg gosh, func RegisterFunc(string, interface{}) *Func
pkg gosh, func SendVars(map[string]string)
pkg gosh, method (*Cmd) AddStderrWriter(io.Writer)
pkg gosh, method (*Cmd) AddStdoutWriter(io.Writer)
pkg gosh, method (*Cmd) AwaitVars(...string) map[string]string
pkg gosh, method (*Cmd) Clone() *Cmd
pkg gosh, method (*Cmd) CombinedOutput() string
pkg gosh, method (*Cmd) Pid() int
pkg gosh, method (*Cmd) Run()
pkg gosh, method (*Cmd) SetStdinReader(io.Reader)
pkg gosh, method (*Cmd) Shell() *Shell
pkg gosh, method (*Cmd) Signal(os.Signal)
pkg gosh, method (*Cmd) Start()
pkg gosh, method (*Cmd) StderrPipe() io.ReadCloser
pkg gosh, method (*Cmd) StdinPipe() io.WriteCloser
pkg gosh, method (*Cmd) Stdout() string
pkg gosh, method (*Cmd) StdoutPipe() io.ReadCloser
pkg gosh, method (*Cmd) StdoutStderr() (string, string)
pkg gosh, method (*Cmd) Terminate(os.Signal)
pkg gosh, method (*Cmd) Wait()
pkg gosh, method (*Pipeline) Clone() *Pipeline
pkg gosh, method (*Pipeline) Cmds() []*Cmd
pkg gosh, method (*Pipeline) CombinedOutput() string
pkg gosh, method (*Pipeline) PipeCombinedOutput(*Cmd)
pkg gosh, method (*Pipeline) PipeStderr(*Cmd)
pkg gosh, method (*Pipeline) PipeStdout(*Cmd)
pkg gosh, method (*Pipeline) Run()
pkg gosh, method (*Pipeline) Signal(os.Signal)
pkg gosh, method (*Pipeline) Start()
pkg gosh, method (*Pipeline) Stdout() string
pkg gosh, method (*Pipeline) StdoutStderr() (string, string)
pkg gosh, method (*Pipeline) Terminate(os.Signal)
pkg gosh, method (*Pipeline) Wait()
pkg gosh, method (*Shell) AddCleanupHandler(func())
pkg gosh, method (*Shell) Cleanup()
pkg gosh, method (*Shell) Cmd(string, ...string) *Cmd
pkg gosh, method (*Shell) FuncCmd(*Func, ...interface{}) *Cmd
pkg gosh, method (*Shell) HandleError(error)
pkg gosh, method (*Shell) MakeTempDir() string
pkg gosh, method (*Shell) MakeTempFile() *os.File
pkg gosh, method (*Shell) Move(string, string)
pkg gosh, method (*Shell) Ok()
pkg gosh, method (*Shell) Popd()
pkg gosh, method (*Shell) Pushd(string)
pkg gosh, method (*Shell) Wait()
pkg gosh, type Cmd struct
pkg gosh, type Cmd struct, Args []string
pkg gosh, type Cmd struct, Err error
pkg gosh, type Cmd struct, ExitAfter time.Duration
pkg gosh, type Cmd struct, ExitErrorIsOk bool
pkg gosh, type Cmd struct, ExtraFiles []*os.File
pkg gosh, type Cmd struct, IgnoreClosedPipeError bool
pkg gosh, type Cmd struct, IgnoreParentExit bool
pkg gosh, type Cmd struct, OutputDir string
pkg gosh, type Cmd struct, Path string
pkg gosh, type Cmd struct, PropagateOutput bool
pkg gosh, type Cmd struct, Vars map[string]string
pkg gosh, type Func struct
pkg gosh, type Pipeline struct
pkg gosh, type Shell struct
pkg gosh, type Shell struct, Args []string
pkg gosh, type Shell struct, ChildOutputDir string
pkg gosh, type Shell struct, ContinueOnError bool
pkg gosh, type Shell struct, Err error
pkg gosh, type Shell struct, PropagateChildOutput bool
pkg gosh, type Shell struct, Vars map[string]string
pkg gosh, type TB interface { FailNow, Logf }
pkg gosh, type TB interface, FailNow()
pkg gosh, type TB interface, Logf(string, ...interface{})
