netclientutils_darwin.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package ncutils
  2. import (
  3. "os/exec"
  4. "strings"
  5. "github.com/gravitl/netmaker/logger"
  6. )
  7. // WHITESPACE_PLACEHOLDER - used with RunCMD - if a path has whitespace, use this to avoid running path as 2 args in RunCMD
  8. const WHITESPACE_PLACEHOLDER = "+-+-+-+"
  9. // RunCmd - runs a local command
  10. func RunCmd(command string, printerr bool) (string, error) {
  11. args := strings.Fields(command)
  12. // return whitespace after split
  13. for i, arg := range args {
  14. args[i] = strings.Replace(arg, WHITESPACE_PLACEHOLDER, " ", -1)
  15. }
  16. cmd := exec.Command(args[0], args[1:]...)
  17. cmd.Wait()
  18. out, err := cmd.CombinedOutput()
  19. if err != nil && printerr {
  20. logger.Log(0, "error running command:", strings.Join(args, " "))
  21. logger.Log(0, strings.TrimSuffix(string(out), "\n"))
  22. }
  23. return string(out), err
  24. }
  25. // RunCmdFormatted - run a command formatted for MacOS
  26. func RunCmdFormatted(command string, printerr bool) (string, error) {
  27. return "", nil
  28. }
  29. // GetEmbedded - if files required for MacOS, put here
  30. func GetEmbedded() error {
  31. return nil
  32. }