package util import ( "os" "os/exec" "path/filepath" "strings" "time" ) const tmpdirName = "sebrauc" func DoesFileExist(filepath string) bool { _, err := os.Stat(filepath) return !os.IsNotExist(err) } func CreateDirIfNotExists(dirpath string) error { if _, err := os.Stat(dirpath); os.IsNotExist(err) { createErr := os.MkdirAll(dirpath, 0o777) if createErr != nil { return createErr } } return nil } func GetTmpdir() (string, error) { tmpdir := filepath.Join(os.TempDir(), tmpdirName) err := CreateDirIfNotExists(tmpdir) return tmpdir, err } func CommandFromString(cmdString string) *exec.Cmd { parts := strings.Split(cmdString, " ") if len(parts) == 0 { return exec.Command("") } //nolint:gosec return exec.Command(parts[0], parts[1:]...) } func Reboot(t time.Duration) { time.Sleep(t) cmd := CommandFromString(RebootCmd) _ = cmd.Run() }