package helper import ( "bytes" "errors" "fmt" "os/exec" "strings" ) var ErrCommandEmpty = errors.New("command empty") func Execute(command string) ([]byte, []byte, error) { parts := strings.Split(command, " ") if len(parts) == 0 { return nil, nil, ErrCommandEmpty } var cmd *exec.Cmd if len(parts) == 1 { cmd = exec.Command(parts[0]) } else { cmd = exec.Command(parts[0], parts[1:]...) } var stdout bytes.Buffer var stderr bytes.Buffer cmd.Stdout = &stdout cmd.Stderr = &stderr err := cmd.Run() if err != nil { return nil, nil, fmt.Errorf("execute failed: %w", err) } return stdout.Bytes(), stderr.Bytes(), err }