Documentation ¶
Index ¶
- Variables
- func AddExecPath(execPath string)
- func Commands(cmdStrs ...string) *exec.CommandBuilder
- func Eval(str string) string
- func FileRead(path string) *fs.FileReader
- func FileReadWithContext(ctx context.Context, path string) *fs.FileReader
- func FileWrite(path string) *fs.FileWriter
- func FileWriteWithContext(ctx context.Context, path string) *fs.FileWriter
- func Get(url string, paths ...string) *http.Response
- func HttpGet(url string, paths ...string) *http.ResourceReader
- func HttpGetWithContext(ctx context.Context, url string, paths ...string) *http.ResourceReader
- func HttpPost(url string, paths ...string) *http.ResourceWriter
- func HttpPostWithContext(ctx context.Context, url string, paths ...string) *http.ResourceWriter
- func MkDir(path string) *fs.FSInfo
- func MkDirs(path string, mode os.FileMode) *fs.FSInfo
- func NewProc(cmdStr string) *exec.Proc
- func NewProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func PathExists(path string) bool
- func PathInfo(path string) *fs.FSInfo
- func Pipe(cmdStrs ...string) *exec.PipedCommandResult
- func Post(data []byte, url string) *http.Response
- func Prog() *prog.Info
- func ProgAvail(program string) string
- func RmPath(path string) *fs.FSInfo
- func Run(cmdStr string) string
- func RunAll(cmdStrs ...string) *exec.CommandResult
- func RunConcur(cmdStrs ...string) *exec.CommandResult
- func RunProc(cmdStr string) *exec.Proc
- func RunProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func RunWithContext(ctx context.Context, cmdStr string) string
- func Runout(cmdStr string)
- func StartAll(cmdStrs ...string) *exec.CommandResult
- func StartConcur(cmdStrs ...string) *exec.CommandResult
- func StartProc(cmdStr string) *exec.Proc
- func StartProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func String(s string) *str.Str
- func Val(name string) string
- func Variables() *vars.Variables
- func Workdir() string
- type Echo
- func (e *Echo) AddExecPath(execPath string)
- func (e *Echo) AddressUsable(addr string) error
- func (e *Echo) Commands(cmdStrs ...string) *exec.CommandBuilder
- func (e *Echo) CommandsWithContext(ctx context.Context, cmdStrs ...string) *exec.CommandBuilder
- func (e *Echo) Envs(variables ...string) *Echo
- func (e *Echo) Eval(str string) string
- func (e *Echo) FileAppend(path string) *fs.FileWriter
- func (e *Echo) FileAppendWithContext(ctx context.Context, path string) *fs.FileWriter
- func (e *Echo) FileRead(path string) *fs.FileReader
- func (e *Echo) FileReadWithContext(ctx context.Context, path string) *fs.FileReader
- func (e *Echo) FileWrite(path string) *fs.FileWriter
- func (e *Echo) FileWriteWithContext(ctx context.Context, path string) *fs.FileWriter
- func (e *Echo) Get(url string, paths ...string) *http.Response
- func (e *Echo) HttpGet(url string, paths ...string) *http.ResourceReader
- func (e *Echo) HttpGetWithContext(ctx context.Context, url string, paths ...string) *http.ResourceReader
- func (e *Echo) HttpPost(url string, paths ...string) *http.ResourceWriter
- func (e *Echo) HttpPostWithContext(ctx context.Context, url string, paths ...string) *http.ResourceWriter
- func (e *Echo) MkDir(path string, mode os.FileMode) *fs.FSInfo
- func (e *Echo) NewProc(cmdStr string) *exec.Proc
- func (e *Echo) NewProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func (e *Echo) ParseCommand(cmdStr string) (cmdName string, args []string)
- func (e *Echo) PathExists(path string) bool
- func (e *Echo) PathInfo(path string) *fs.FSInfo
- func (e *Echo) Pipe(cmdStrs ...string) *exec.PipedCommandResult
- func (e *Echo) PipeWithContext(ctx context.Context, cmdStrs ...string) *exec.PipedCommandResult
- func (e *Echo) Post(data []byte, url string, paths ...string) *http.Response
- func (e *Echo) Prog() *prog.Info
- func (e *Echo) ProgAvail(progName string) string
- func (e *Echo) RmPath(path string) *fs.FSInfo
- func (e *Echo) Run(cmdStr string) string
- func (e *Echo) RunAll(cmdStrs ...string) *exec.CommandResult
- func (e *Echo) RunAllWithContext(ctx context.Context, cmdStrs ...string) *exec.CommandResult
- func (e *Echo) RunConcur(cmdStrs ...string) *exec.CommandResult
- func (e *Echo) RunConcurWithContext(ctx context.Context, cmdStrs ...string) *exec.CommandResult
- func (e *Echo) RunProc(cmdStr string) *exec.Proc
- func (e *Echo) RunProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func (e *Echo) RunWithContext(ctx context.Context, cmdStr string) string
- func (e *Echo) Runout(cmdStr string)
- func (e *Echo) SetEnv(name, value string) *Echo
- func (e *Echo) SetVar(name, value string) *Echo
- func (e *Echo) StartAll(cmdStrs ...string) *exec.CommandResult
- func (e *Echo) StartAllWithContext(ctx context.Context, cmdStrs ...string) *exec.CommandResult
- func (e *Echo) StartConcur(cmdStrs ...string) *exec.CommandResult
- func (e *Echo) StartConcurWithContext(ctx context.Context, cmdStrs ...string) *exec.CommandResult
- func (e *Echo) StartProc(cmdStr string) *exec.Proc
- func (e *Echo) StartProcWithContext(ctx context.Context, cmdStr string) *exec.Proc
- func (e *Echo) String(s string) *str.Str
- func (e *Echo) UnsetVar(name string) *Echo
- func (e *Echo) Val(name string) string
- func (e *Echo) Variables() *vars.Variables
- func (e *Echo) Vars(variables ...string) *Echo
- func (e *Echo) Workdir() string
Constants ¶
This section is empty.
Variables ¶
var ( // DefaultEcho surfaces an Echo session used for all package functions DefaultEcho = New() )
Functions ¶
func AddExecPath ¶ added in v0.3.0
func AddExecPath(execPath string)
AddExecPath adds an executable path to PATH
func Commands ¶ added in v0.2.0
func Commands(cmdStrs ...string) *exec.CommandBuilder
Commands returns a *exe.CommandBuilder to build a multi-command execution flow.
func Eval ¶
Eval returns the string str with its content expanded with variable values i.e. Eval("I am $HOME") returns "I am </user/home/path>"
func FileRead ¶ added in v0.3.0
func FileRead(path string) *fs.FileReader
FileRead provides methods to read file content from path
func FileReadWithContext ¶ added in v0.4.1
func FileReadWithContext(ctx context.Context, path string) *fs.FileReader
FileRead uses context ctx to read file content from path
func FileWrite ¶ added in v0.3.0
func FileWrite(path string) *fs.FileWriter
FileWrite provides methods to write file content to path
func FileWriteWithContext ¶ added in v0.4.1
func FileWriteWithContext(ctx context.Context, path string) *fs.FileWriter
FileWriteWithContext uses context ctx to write file content to path
func Get ¶ added in v0.4.0
Get is a convenient alias for HttpGet that retrieves specified resource at given URL/path
func HttpGet ¶ added in v0.4.0
func HttpGet(url string, paths ...string) *http.ResourceReader
HttpGet starts an HTTP GET operation to retrieve resource at URL/path
func HttpGetWithContext ¶ added in v0.4.1
HttpGetWithContext uses context ctx to start an HTTP GET operation to retrieve resource at URL/path
func HttpPost ¶ added in v0.4.0
func HttpPost(url string, paths ...string) *http.ResourceWriter
HttpPost starts an HTTP POST operation to post resource to URL/path
func HttpPostWithContext ¶ added in v0.4.1
HttpPostWithContext uses context ctx to start an HTTP POST operation to post resource to URL/path
func NewProc ¶ added in v0.2.0
NewProc setups a new process with specified command cmdStr and returns immediately without starting. Information about the running process is stored in *exec.Proc.
func NewProcWithContext ¶ added in v0.4.1
NewProcWithContext setups a new process with specified context and command cmdStr and returns immediately without starting. Information about the running process is stored in *exec.Proc.
func PathExists ¶ added in v0.3.0
PathExists returns true if specified path exists. Any error will cause it to return false.
func Pipe ¶ added in v0.2.0
func Pipe(cmdStrs ...string) *exec.PipedCommandResult
Pipe executes each command, in cmdStrs, by piping the result of the previous command as input to the next command until done.
func RunAll ¶ added in v0.2.0
func RunAll(cmdStrs ...string) *exec.CommandResult
RunAll executes each command, in cmdStrs, successively and wait for their completion.
func RunConcur ¶ added in v0.2.0
func RunConcur(cmdStrs ...string) *exec.CommandResult
RunConcur executes each command, in cmdStrs, concurrently and waits their completion.
func RunProc ¶
RunProc executes command in cmdStr and waits for the result. It returns a *Proc with information about the executed process.
func RunProcWithContext ¶ added in v0.4.1
RunProcWithContext executes command in cmdStr, with specified ctx, and waits for the result. It returns a *Proc with information about the executed process.
func RunWithContext ¶ added in v0.4.1
RunWithContext executes cmdStr, with specified context, and waits for completion. It returns the result as a string.
func StartAll ¶ added in v0.2.0
func StartAll(cmdStrs ...string) *exec.CommandResult
StartAll starts the exection of each command sequentially and does not wait for their completion.
func StartConcur ¶ added in v0.2.0
func StartConcur(cmdStrs ...string) *exec.CommandResult
StartConcur starts the exection of each command concurrently and does not wait for their completion.
func StartProc ¶
StartProc executes the command in cmdStr and returns immediately without waiting. Information about the running process is stored in *exec.Proc.
func StartProcWithContext ¶ added in v0.4.1
StartProcWith executes the command in cmdStr with the specified contex and returns immediately without waiting. Information about the running process is stored in *exec.Proc.
Types ¶
type Echo ¶
type Echo struct {
// contains filtered or unexported fields
}
Echo represents a new Echo session used for accessing Gexe types and methods.
func Envs ¶
Envs declares environment variables using a multi-line space-separated list:
Envs("GOOS=linux GOARCH=amd64")
Environment vars can be used in string values using Eval("building for os=$GOOS")
func Vars ¶
Vars declares multiple session-scope variables using string literals:
Envs("foo=bar", "platform=amd64", `"data="info ${platform}"`)
Note that session vars are only available for the running process.
func (*Echo) AddExecPath ¶ added in v0.3.0
AddExecPath adds an executable path to PATH
func (*Echo) AddressUsable ¶ added in v0.3.0
func (*Echo) Commands ¶ added in v0.2.0
func (e *Echo) Commands(cmdStrs ...string) *exec.CommandBuilder
Commands returns a *exe.CommandBuilder to build a multi-command execution flow.
func (*Echo) CommandsWithContext ¶ added in v0.4.1
Commands creates a *exe.CommandBuilder, with the specified context, to build a multi-command execution flow.
func (*Echo) Envs ¶
Envs declares environment variables using a multi-line space-separated list:
Envs("GOOS=linux" "GOARCH=amd64", `platform="$GOOS:$GOARCH"`)
Environment vars can be used in string values using Eval("building for os=$GOOS")
func (*Echo) Eval ¶
Eval returns the string str with its content expanded with variable values i.e. Eval("I am $HOME") returns "I am </user/home/path>"
func (*Echo) FileAppend ¶ added in v0.3.0
func (e *Echo) FileAppend(path string) *fs.FileWriter
FileAppend creates a new fs.FileWriter to append content to provided path
func (*Echo) FileAppendWithContext ¶ added in v0.4.1
FileAppend creates a new fs.FileWriter to append content to provided path
func (*Echo) FileRead ¶ added in v0.3.0
func (e *Echo) FileRead(path string) *fs.FileReader
FileRead provides methods to read file content
func (*Echo) FileReadWithContext ¶ added in v0.4.1
FileReadWithContext uses specified context to provide methods to read file content at path.
func (*Echo) FileWrite ¶ added in v0.3.0
func (e *Echo) FileWrite(path string) *fs.FileWriter
FileWrite creates a fs.FileWriter to write content to provided path
func (*Echo) FileWriteWithContext ¶ added in v0.4.1
FileWriteWithContext uses context ctx to create a fs.FileWriter to write content to provided path
func (*Echo) Get ¶ added in v0.2.0
Get is convenient alias for HttpGet to retrieve a resource at given URL/path
func (*Echo) HttpGet ¶ added in v0.4.0
func (e *Echo) HttpGet(url string, paths ...string) *http.ResourceReader
HttpGetWithContext starts an HTTP GET operation to retrieve server resource from given URL/paths.
func (*Echo) HttpGetWithContext ¶ added in v0.4.1
func (e *Echo) HttpGetWithContext(ctx context.Context, url string, paths ...string) *http.ResourceReader
HttpGetWithContext uses context ctx to start an HTTP GET operation to retrieve server resource from given URL/paths.
func (*Echo) HttpPost ¶ added in v0.4.0
func (e *Echo) HttpPost(url string, paths ...string) *http.ResourceWriter
HttpPost starts an HTTP POST operation to post resource to a server at given URL/path.
func (*Echo) HttpPostWithContext ¶ added in v0.4.1
func (e *Echo) HttpPostWithContext(ctx context.Context, url string, paths ...string) *http.ResourceWriter
HttpPostWithContext uses context ctx to start an HTTP POST operation to post resource to a server at given URL/path.
func (*Echo) MkDir ¶ added in v0.3.0
MkDir creates a directory at specified path with mode value. FSInfo contains information about the path or error if occured
func (*Echo) NewProc ¶ added in v0.2.0
NewProc a convenient function that calls NewProcWithContext with a default contet.
func (*Echo) NewProcWithContext ¶ added in v0.4.1
NewProc setups a new process with specified command cmdStr and returns immediately without starting. Use Proc.Wait to wait for exection and then retrieve process result. Information about the running process is stored in *exec.Proc.
func (*Echo) ParseCommand ¶ added in v0.3.0
ParseCommand parses the string into individual command tokens
func (*Echo) PathExists ¶ added in v0.3.0
PathExists returns true if path exists. All errors causes to return false.
func (*Echo) Pipe ¶ added in v0.2.0
func (e *Echo) Pipe(cmdStrs ...string) *exec.PipedCommandResult
Pipe executes each command, in cmdStrs, by piping the result of the previous command as input to the next command until done.
func (*Echo) PipeWithContext ¶ added in v0.4.1
Pipe uses specified context to execute each command, in cmdStrs, by piping the result of the previous command as input to the next command until done.
func (*Echo) Post ¶ added in v0.2.0
Post is a convenient alias for HttpPost to post the specified data to given URL/path
func (*Echo) ProgAvail ¶ added in v0.3.0
ProgAvail returns the full path of the program if found on exec PATH
func (*Echo) RmPath ¶ added in v0.3.0
RmPath removes specified path (dir or file). Error is returned FSInfo.Err()
func (*Echo) RunAll ¶ added in v0.2.0
func (e *Echo) RunAll(cmdStrs ...string) *exec.CommandResult
RunAll executes each command sequentially, in cmdStrs, and wait for their completion.
func (*Echo) RunAllWithContext ¶ added in v0.4.1
RunAllWithContext executes each command sequentially, in cmdStrs, and wait for their completion.
func (*Echo) RunConcur ¶ added in v0.2.0
func (e *Echo) RunConcur(cmdStrs ...string) *exec.CommandResult
RunConcur executes each command concurrently, in cmdStrs, and waits their completion.
func (*Echo) RunConcurWithContext ¶ added in v0.4.1
RunConcurWithContext uses context to execute each command concurrently, in cmdStrs, and waits their completion.
func (*Echo) RunProc ¶
RunProc executes command in cmdStr and waits for the result. It returns a *Proc with information about the executed process.
func (*Echo) RunProcWithContext ¶ added in v0.4.1
RunProcWithContext executes command in cmdStr, with given context, and waits for the result. It returns a *Proc with information about the executed process.
func (*Echo) RunWithContext ¶ added in v0.4.1
Run executes cmdStr, with given context, and returns the result as a string.
func (*Echo) StartAll ¶ added in v0.2.0
func (e *Echo) StartAll(cmdStrs ...string) *exec.CommandResult
StartAll starts the sequential execution of each command, in cmdStrs, and does not wait for their completion.
func (*Echo) StartAllWithContext ¶ added in v0.4.1
StartAllWithContext uses the specified ctx to start sequential execution of each command, in cmdStrs, and does not wait for their completion.
func (*Echo) StartConcur ¶ added in v0.2.0
func (e *Echo) StartConcur(cmdStrs ...string) *exec.CommandResult
StartConcur starts the concurrent execution of each command, in cmdStrs, and does not wait for their completion.
func (*Echo) StartConcurWithContext ¶ added in v0.4.1
StartConcurWithContext uses specified context to start the concurrent execution of each command, in cmdStrs, and does not wait for their completion.
func (*Echo) StartProc ¶
StartProc executes the command in cmdStr and returns immediately without waiting. Use Proc.Wait to wait for exection and then retrieve process result. Information about the running process is stored in *Proc.
func (*Echo) StartProcWithContext ¶ added in v0.4.1
StartProc executes the command in cmdStr, with the specified context, and returns immediately without waiting. Use Proc.Wait to wait for exection and then retrieve process result. Information about the running process is stored in *Proc.
func (*Echo) String ¶ added in v0.3.0
String creates a new str.Str value with string manipulation methods