package executil
import "github.com/tredoe/osutil/executil"
Package executil lets to call to system commands.
Index ¶
- Variables
- func CheckStderr(stderr []byte, err error) error
- func RunAsBash(command string) (output []byte, err error)
- func RunAsBashWithMatch(command string) (output []byte, match bool, err error)
- func RunAsBashWithMatchf(format string, args ...interface{}) ([]byte, bool, error)
- func RunAsBashf(format string, args ...interface{}) ([]byte, error)
- func RunWinshell(sh WinShell, closeWindow bool, cmd string) (out []byte, err error)
- type Command
- func NewCommand(cmd string, args ...string) *Command
- func (c *Command) AddEnv(e []string) *Command
- func (c *Command) BadExitCodes(codes []int) *Command
- func (c *Command) Command(cmd string, args ...string) *Command
- func (c *Command) Env(e []string) *Command
- func (c *Command) ExitCode() int
- func (c *Command) OutputCombined() (stdout, stderr []byte, err error)
- func (c *Command) OutputStderr() (stderr []byte, err error)
- func (c *Command) OutputStdout() (stdout []byte, err error)
- func (c *Command) Run() (exitCode int, err error)
- func (c *Command) StdCombinedTofile( dir, filename string, fnCheckStderr func([]byte) error, ) error
- func (c *Command) Stderr(err io.Writer) *Command
- func (c *Command) StderrTofile(dir, filename string, fnCheckStderr func([]byte) error) error
- func (c *Command) Stdout(out io.Writer) *Command
- func (c *Command) StdoutTofile(dir, filename string) error
- func (c *Command) TimeTokillCmd(tm time.Duration) *Command
- type WinShell
Variables ¶
var DebugAsBash bool
DebugRunAsBash shows debug messages at functions related to 'RunAsBash()'.
ErrProcKilled reports an error by a process killed.
var ListWinShell = []WinShell{ Cmd, Db2, }
ListWinShell is the list of Windows shells.
Functions ¶
func CheckStderr ¶
CheckStderr returns an error whether 'stderr' is not empty or there is any error.
func RunAsBash ¶
RunAsBash executes external commands just like RunAsBashWithMatch, but does not return the boolean `match`.
func RunAsBashWithMatch ¶
RunAsBashWithMatch executes external commands with access to shell features such as filename wildcards, shell pipes, environment variables, and expansion of the shortcut character "~" to home directory. It also logs the command.
This function avoids to have execute commands through a shell since an unsanitized input from an untrusted source makes a program vulnerable to shell injection, a serious security flaw which can result in arbitrary command execution.
The most of commands return a text in output or an error if any. `match` is used in commands like *grep*, *find*, or *cmp* to indicate if the search is matched.
func RunAsBashWithMatchf ¶
RunAsBashWithMatchf is like RunAsBashWithMatch, but formats its arguments according to the format. Analogous to Printf().
func RunAsBashf ¶
RunAsBashf is like RunAsBash, but formats its arguments according to the format. Analogous to Printf().
func RunWinshell ¶
RunWinshell executes a command into a Windows' shell called from Powershell. Logs the command and returns the command output.
Types ¶
type Command ¶
type Command struct {
// contains filtered or unexported fields
}
Command represents a command to execute.
func NewCommand ¶
NewCommand sets the basic arguments to execute a command.
func (*Command) AddEnv ¶
AddEnv adds environment variables.
func (*Command) BadExitCodes ¶
BadExitCodes sets the exit codes with errors for the command.
func (*Command) Command ¶
Command sets the arguments to run other command.
func (*Command) Env ¶
Env sets the environment variables.
func (*Command) ExitCode ¶
ExitCode returns the exit status code which is returned after of call to Run().
func (*Command) OutputCombined ¶
OutputCombined runs the command and returns both standard output and error.
func (*Command) OutputStderr ¶
OutputStderr runs the command and returns the standard error.
func (*Command) OutputStdout ¶
OutputStdout runs the command and returns the standard output.
func (*Command) Run ¶
Run executes the command. Logs the command and the exit code.
func (*Command) StdCombinedTofile ¶
func (c *Command) StdCombinedTofile( dir, filename string, fnCheckStderr func([]byte) error, ) error
StdCombinedTofile runs the command and saves both standard output and error into files. The full names are formed with the values of 'filename' plus "_stdout.log" and 'filename' plus "_stderr.log".
func (*Command) Stderr ¶
Stderr sets the standard error.
func (*Command) StderrTofile ¶
StderrTofile runs the command and saves the standard error into a file. The full name is formed with the value of 'filename' plus "_stderr.log". fnCheckStderr is a function to check the standard error.
func (*Command) Stdout ¶
Stdout sets the standard out.
func (*Command) StdoutTofile ¶
StdoutTofile runs the command and saves the standard output into a file. The full name is formed with the value of 'filename' plus "_stdout.log".
func (*Command) TimeTokillCmd ¶
TimeTokillCmd sets the time of waiting to finish the command before of kill it.
type WinShell ¶
type WinShell uint8
WinShell represents a Windows shell.
const ( Cmd WinShell Db2 )
Windows shells.
func (WinShell) String ¶
Source Files ¶
bash.go doc.go env.go errors.go run.go win.go
- Version
- v1.3.0
- Published
- Aug 17, 2021
- Platform
- js/wasm
- Imports
- 13 packages
- Last checked
- 1 day ago –
Tools for package owners.