1
0

exec.go 637 B

12345678910111213141516171819202122232425262728
  1. package nginx
  2. import (
  3. "context"
  4. "os/exec"
  5. "github.com/0xJacky/Nginx-UI/internal/docker"
  6. "github.com/0xJacky/Nginx-UI/settings"
  7. )
  8. func execShell(cmd string) (stdOut string, stdErr error) {
  9. return execCommand("/bin/sh", "-c", cmd)
  10. }
  11. func execCommand(name string, cmd ...string) (stdOut string, stdErr error) {
  12. switch settings.NginxSettings.RunningInAnotherContainer() {
  13. case true:
  14. cmd = append([]string{name}, cmd...)
  15. stdOut, stdErr = docker.Exec(context.Background(), cmd)
  16. case false:
  17. bytes, err := exec.Command(name, cmd...).CombinedOutput()
  18. stdOut = string(bytes)
  19. if err != nil {
  20. stdErr = err
  21. }
  22. }
  23. return
  24. }