SYNOPSYS import "clive/cmd/run" func Cmd(args ...string) (*Proc, error) func CtxCmd(adjust func(*cmd.Ctx), args ...string) (*Proc, error) func PipeTo(args ...string) (*Proc, error) func PipeToCtx(adjust func(*cmd.Ctx), args ...string) (*Proc, error) func PipeToUnix(args ...string) (*Proc, error) func UnixCmd(args ...string) (*Proc, error) type Proc struct { ... } func Cmd(args ...string) (*Proc, error) func CtxCmd(adjust func(*cmd.Ctx), args ...string) (*Proc, error) func PipeTo(args ...string) (*Proc, error) func PipeToCtx(adjust func(*cmd.Ctx), args ...string) (*Proc, error) func PipeToUnix(args ...string) (*Proc, error) func UnixCmd(args ...string) (*Proc, error) DESCRIPTION run a command and use channels for I/O CONSTANTS TYPES type Proc struct { Id int Args []string In chan<- interface{} // process input Out <-chan interface{} // process output Err <-chan interface{} // process errors // contains filtered or unexported fields } A running command. Out and Err correspond to the "out" and "err" channels. The status is reported by closing the Err channel using it. You can use ch.Merge() to merge Out and Err into a single stream. func Cmd(args ...string) (*Proc, error) Run args as a Clive command and return it. The command runs in a new clive cmd context with: "in" set to null "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan func CtxCmd(adjust func(*cmd.Ctx), args ...string) (*Proc, error) Run args as a clive command with a context adjusted by the caller, and return it. The command runs in a new clive cmd context with: "in" set to null "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan Adjust is called in that context before actually starting the command, to let it adjust the context at will, but in, out, and err are set as said no matter what adjust does. func PipeTo(args ...string) (*Proc, error) Run args as a clive command with an open input channel. The command runs in a new clive cmd context with "in" set to a new Proc.In chan "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan func PipeToCtx(adjust func(*cmd.Ctx), args ...string) (*Proc, error) Run args as a clive command with a context adjusted by the caller and an open input channel, and return it. The command runs in a new clive cmd context with: "in" set to a new Proc.In chan "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan Adjust is called in that context before actually starting the command, to let it adjust the context at will, but in, out, and err are set as said no matter what adjust does. func PipeToUnix(args ...string) (*Proc, error) Run args as a unix command with an open input channel. The command runs in a new clive cmd context with "in" set to a new Proc.In chan "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan func UnixCmd(args ...string) (*Proc, error) Run args as a Unix command and return it. The command runs in a new clive cmd context with "in" set to null "out" set to a new Proc.Out chan "err" set to a new Proc.Err chan func (p *Proc) Wait() error Wait for the command to terminate and return its status. FUNCTIONS
Clive, 2nd ed. User's manual. Section 2