index.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package utils
  2. import (
  3. "log"
  4. "os"
  5. "os/exec"
  6. "path/filepath"
  7. "runtime"
  8. )
  9. func FileIsExist(path string) bool {
  10. _, err := os.Stat(path)
  11. if err == nil {
  12. return true
  13. }
  14. if os.IsNotExist(err) {
  15. return false
  16. }
  17. return false
  18. }
  19. // ExecCmd 执行脚本
  20. func ExecCmd(command string) ([]byte, error) {
  21. var cmd *exec.Cmd
  22. if runtime.GOOS == "windows" {
  23. cmd = exec.Command("powershell", "-command", command)
  24. } else {
  25. cmd = exec.Command("sh", "-c", command)
  26. }
  27. result, err := cmd.CombinedOutput()
  28. if err != nil {
  29. log.Println("install deps fail", err)
  30. return nil, err
  31. }
  32. log.Println("install deps success")
  33. return result, nil
  34. }
  35. func GetCurDir() string {
  36. ex, err := os.Executable()
  37. if err != nil {
  38. panic(err)
  39. }
  40. // 可执行文件的路径
  41. log.Println(ex)
  42. // 获取执行文件所在目录
  43. exPath := filepath.Dir(ex)
  44. log.Println("可执行文件路径 :" + exPath)
  45. // 使用EvalSymlinks获取真是路径
  46. realPath, err := filepath.EvalSymlinks(exPath)
  47. if err != nil {
  48. panic(err)
  49. }
  50. log.Println("符号链接真实路径:" + realPath)
  51. return realPath
  52. }