cmdu

package module
v0.0.0-...-98d5bcc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2021 License: MIT Imports: 13 Imported by: 1

README

cmd-utils

Command line utilities for exec.Cmd

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func EnvMap

func EnvMap(env expand.Environ) (res map[string]expand.Variable)

func EnvStrings

func EnvStrings(env expand.Environ, f func(v *expand.Variable) bool) (res []string)

Types

type Cmd

type Cmd struct {
	*exec.Cmd
	// contains filtered or unexported fields
}

func (*Cmd) OnDone

func (r *Cmd) OnDone(f ...func())

func (*Cmd) OnDoneE

func (r *Cmd) OnDoneE(f func() error)

func (*Cmd) Run

func (r *Cmd) Run() (err error)

func (*Cmd) RunContext

func (r *Cmd) RunContext(ctx context.Context) (err error)

func (*Cmd) Signal

func (r *Cmd) Signal(sig os.Signal) (err error)

func (*Cmd) Start

func (r *Cmd) Start() (err error)

func (*Cmd) StartContext

func (r *Cmd) StartContext(ctx context.Context) (err error)

func (*Cmd) Timeout

func (r *Cmd) Timeout() time.Duration

func (*Cmd) Wait

func (r *Cmd) Wait() (err error)

type CmdBuilder

type CmdBuilder struct {
	Script  string            `yaml:"script"`
	Name    string            `yaml:"name"`
	Env     map[string]string `yaml:"env"`
	Args    []string          `yaml:"args"`
	Dir     string            `yaml:"dir"`
	Stdout  string            `yaml:"stdout"`
	Stderr  string            `yaml:"stderr"`
	Stdin   string            `yaml:"stdin"`
	Timeout string            `yaml:"timeout"`
}

func (CmdBuilder) Build

func (b CmdBuilder) Build(env expand.Environ) (hcmd *Cmd, err error)

type CmdTimeoutError

type CmdTimeoutError struct {
	Cmd *Cmd
}

func (CmdTimeoutError) Cause

func (d CmdTimeoutError) Cause() error

func (*CmdTimeoutError) Error

func (d *CmdTimeoutError) Error() string

type Environ

type Environ struct {
	// contains filtered or unexported fields
}

func NewEnviron

func NewEnviron(parent expand.Environ, values map[string]expand.Variable) *Environ

func OsEnv

func OsEnv() *Environ

func (*Environ) Each

func (o *Environ) Each(f func(name string, vr expand.Variable) bool)

func (*Environ) Get

func (o *Environ) Get(name string) expand.Variable

func (*Environ) Set

func (o *Environ) Set(name string, vr expand.Variable) error

func (*Environ) SetString

func (o *Environ) SetString(name, value string) (err error)

type StdIOType

type StdIOType int
const (
	StdIn StdIOType = iota
	StdOut
	StdErr
)

func (StdIOType) Get

func (typ StdIOType) Get(pth string, defaul ...*os.File) (f *os.File, err error)

type UniquerEnviron

type UniquerEnviron interface {
	expand.Environ

	Unique(f func(name string, vr expand.Variable) bool)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL