Signed-off-by: Matheus Sampaio Queiroga <srherobrine20@gmail.com>
33 lines
974 B
Go
33 lines
974 B
Go
package host
|
|
|
|
import (
|
|
"os/exec"
|
|
|
|
goexec "sirherobrine23.com.br/go-bds/exec"
|
|
)
|
|
|
|
// [os/exec] export errors
|
|
var (
|
|
ErrDot = exec.ErrDot
|
|
ErrNotFound = exec.ErrNotFound
|
|
ErrWaitDelay = exec.ErrWaitDelay
|
|
)
|
|
|
|
// LookPath searches for an executable named file in the
|
|
// directories named by the PATH environment variable.
|
|
// If file contains a slash, it is tried directly and the PATH is not consulted.
|
|
// Otherwise, on success, the result is an absolute path.
|
|
//
|
|
// In older versions of Go, LookPath could return a path relative to the current directory.
|
|
// As of Go 1.19, LookPath will instead return that path along with an error satisfying
|
|
// [errors.Is](err, [ErrDot]). See the package documentation for more details.
|
|
func LookPath(file string) (string, error) {
|
|
return exec.LookPath(file)
|
|
}
|
|
|
|
// Check if binary exists
|
|
func LookPathExist(processConfig *goexec.Exec) bool {
|
|
binpath, err := LookPath(processConfig.Arguments[0])
|
|
return err == nil && binpath != ""
|
|
}
|