exec.go 759 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2025 BackendServerTemplate Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package executils
  5. import (
  6. "bytes"
  7. "github.com/SongZihuan/BackendServerTemplate/tool/utils/cleanstringutils"
  8. "os"
  9. "os/exec"
  10. )
  11. func Run(name string, args ...string) (string, error) {
  12. cmd := exec.Command(name, args...)
  13. var out bytes.Buffer
  14. cmd.Stdin = os.Stdin
  15. cmd.Stdout = &out
  16. cmd.Stderr = os.Stderr
  17. if err := cmd.Run(); err != nil {
  18. return "", err
  19. }
  20. return out.String(), nil
  21. }
  22. func RunOnline(name string, args ...string) (string, error) {
  23. res, err := Run(name, args...)
  24. if err != nil {
  25. return "", err
  26. }
  27. return cleanstringutils.GetStringOneLine(res), nil
  28. }