Files
Docker-Volume-iSCSI/util/util.go
T
2022-06-02 08:05:25 +02:00

46 lines
841 B
Go

package util
import (
"bytes"
"fmt"
"os/exec"
"strings"
// Vendors
"github.com/Sirupsen/logrus"
)
const CmdNotFound = "Command Not Found"
func ExecuteCommand(command string, args ...string) (string, string) {
logrus.Debug(command, " ", args)
cmd := exec.Command(command, args...)
var out bytes.Buffer
var errMsg bytes.Buffer
cmd.Stdout = &out
cmd.Stderr = &errMsg
err := cmd.Run()
if err != nil {
if strings.Contains(err.Error(), "not found") {
return "", CmdNotFound
}
return "", errMsg.String()
}
return out.String(), errMsg.String()
}
func ExecuteCommandString(command string) (string, string) {
out, errMsg := ExecuteCommand("bash",
"-c",
command)
return out, errMsg
}
func LogError(format string, args ...interface{}) error {
logrus.Errorf(format, args...)
return fmt.Errorf(format, args...)
}