Documentation
¶
Index ¶
- func CombinedOut(cmd BaseCmd) (string, error)
- func Out(cmd BaseCmd) (string, error)
- func Run(cmd BaseCmd) error
- func Start(cmd BaseCmd) error
- type BaseCmd
- type Cmd
- func (sh Cmd) CombinedOut() (string, error)
- func (sh *Cmd) CustomShell(shellName, execArg string)
- func (sh *Cmd) DisableChroot()
- func (sh *Cmd) EnableChroot()
- func (sh *Cmd) GetChroot() (string, bool)
- func (sh Cmd) GetExec() *exec.Cmd
- func (sh Cmd) Out() (string, error)
- func (sh Cmd) Run() error
- func (sh *Cmd) RunWithShell(set bool)
- func (sh Cmd) SetAndCombinedOut(command string) (string, error)
- func (sh Cmd) SetAndCombinedOutf(command string, args ...any) (string, error)
- func (sh Cmd) SetAndOut(command string) (string, error)
- func (sh Cmd) SetAndOutf(command string, args ...any) (string, error)
- func (sh Cmd) SetAndRun(command string) error
- func (sh Cmd) SetAndRunf(command string, args ...any) error
- func (sh Cmd) SetAndStart(command string) error
- func (sh Cmd) SetAndStartf(command string, args ...any) error
- func (sh *Cmd) SetChroot(mountPoint string)
- func (sh *Cmd) SetChrootf(mountPoint string, args ...any)
- func (sh Cmd) Start() error
- func (sh *Cmd) UseBashShell(set bool)
- type SudoCmd
- type UnixCmd
- type UnixSudoCmd
- type WindowsCmd
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CombinedOut ¶ added in v1.7.0
Execute CombinedOut on all library command types/interfaces.
Types ¶
type BaseCmd ¶ added in v1.7.0
type BaseCmd interface {
GetExec() *exec.Cmd
SetInput(string)
SetInputf(string, ...any)
Std(bool, bool, bool)
Stdout(bool)
Stdin(bool)
Stderr(bool)
Run() error
Out() (string, error)
Start() error
CombinedOut() (string, error)
SetAndStartf(string, ...any) error
SetAndCombinedOutf(string, ...any) (string, error)
SetAndOutf(string, ...any) (string, error)
SetAndRunf(string, ...any) error
SetAndStart(string) error
SetAndCombinedOut(string) (string, error)
SetAndOut(string) (string, error)
SetAndRun(string) error
}
The universal base interface for the others, can be converted unidirectionally to all others.
func NewBaseCmd ¶ added in v1.7.0
Creates a new BaseCmd interface, which is completely universal and cross-platform.
func NewBaseCmdf ¶ added in v1.7.0
NewBaseCmd but with a fmt.Sprintf in it.
type Cmd ¶
type Cmd struct {
Shell struct {
Enabled bool
CustomSh struct {
Enabled bool
ShName string
ShArg string // Shell execution cmd
}
// contains filtered or unexported fields
}
Chroot struct {
Route string
Enabled bool
}
}
func NewCmd ¶ added in v1.7.0
Create a cmd structure convertible to the default interface for your platform. Ex: Windows -> WindowsCmd. Unix -> UnixCmd.
func (Cmd) CombinedOut ¶ added in v1.3.0
It is the same as run, but returns one more string value (the output of the command).
func (*Cmd) CustomShell ¶ added in v1.3.0
Set a custom shell to exec the command.
func (Cmd) GetExec ¶ added in v1.3.0
Returns the exec.Cmd structure with all parameters already configured.
func (Cmd) Out ¶ added in v1.3.0
It is the same as run, but skips the Std setting and returns an error value and the output as a string, i.e. exec.Command(<command>).Output().
func (Cmd) Run ¶ added in v1.3.0
Executes normally the command with the parameters set, with the classic exec.Command(<command>).Run().
func (*Cmd) RunWithShell ¶ added in v1.3.0
If the value is true use exec.Command([shell],[arg],input) instead of exec.Command(input[0],input[1:]...)
func (Cmd) SetAndCombinedOut ¶ added in v1.3.0
It is the same as cmd := command.Cmd("<command>"); cmd.CombinedOut() but in a single argument, what it does is to put an internal input (the one provided) and execute it directly without affecting the main structure.
func (Cmd) SetAndCombinedOutf ¶ added in v1.6.0
It is the same as a SetAndCombinedOut(fmt.Sprintf(command,args)) but shortened for better handling.
func (Cmd) SetAndOut ¶ added in v1.3.0
It is the same as cmd := command.Cmd("<command>"); cmd.Out() but in a single argument, what it does is to put an internal input (the one provided) and execute it directly without affecting the main structure.
func (Cmd) SetAndOutf ¶ added in v1.6.0
Is the same as a SetAndOut(fmt.Sprintf(command,args)) but shortened for better handling.
func (Cmd) SetAndRun ¶ added in v1.3.0
It is the same as cmd := command.Cmd("<command>"); cmd.Run() but in a single argument, what it does is to put an internal input (the one provided) and execute it directly without affecting the main structure.
func (Cmd) SetAndRunf ¶ added in v1.6.0
Is the same as a SetAndRun(fmt.Sprintf(command,args)) but shortened for better handling.
func (Cmd) SetAndStart ¶ added in v1.3.0
It is the same as cmd := command.Cmd("<command>"); cmd.Start() but in a single argument, what it does is to put an internal input (the one provided) and execute it directly without affecting the main structure.
func (Cmd) SetAndStartf ¶ added in v1.6.0
It is the same as a SetAndStart(fmt.Sprintf(command,args)) but shortened for better handling.
func (*Cmd) SetChrootf ¶ added in v1.6.0
Same as SetChroot but with a fmt.Sprinf inside it.
func (Cmd) Start ¶ added in v1.3.0
Run the command in a new goroutine, just like cmd.Run(), but using exec.Command(<cmd>).Start().
func (*Cmd) UseBashShell ¶ added in v1.3.0
type SudoCmd ¶ added in v1.3.0
type SudoCmd struct {
Cmd
// contains filtered or unexported fields
}
func NewSudoCmd ¶ added in v1.7.0
Creates a UnixCmd interface but with specific functions for executing sudo commands.
func NewSudoCmdf ¶ added in v1.7.0
NewSudoCmd but with a fmt.Sprintf in it.
func (SudoCmd) CombinedOut ¶ added in v1.3.0
type UnixCmd ¶
type UnixCmd interface {
BaseCmd
RunWithShell(bool)
UseBashShell(bool)
CustomShell(string, string)
GetChroot() (string, bool)
SetChroot(string)
SetChrootf(string, ...any)
EnableChroot()
DisableChroot()
}
An exclusive interface for unix, which has the specific functions for that OS.
func NewUnixCmd ¶ added in v1.7.0
Creates a UnixCmd interface that is convertible to: UnixCmd -> UnixSudoCmd.
func NewUnixCmdf ¶ added in v1.7.0
NewUnixCmd but with a fmt.Sprintf in it.
type UnixSudoCmd ¶
Unix interface with extra functions to cover sudo execution.
type WindowsCmd ¶ added in v1.7.0
type WindowsCmd interface {
BaseCmd
RunWithPS(bool)
SetRawExec(bool)
RawExec() bool
SetHideCmd(bool)
HideCmd() bool
UsingPS() bool
UsingCmd() bool
SetPSFlags(string)
SetPSFlagsf(string, ...any)
PSFlags() string
SetCmdFlags(string)
SetCmdFlagsf(string, ...any)
CmdFlags() string
}
The exclusive command interface for windows, you can convert BaseCmd -> WindowsCmd with specific functions for that OS.