diff --git a/internal/nginx/exec.go b/internal/nginx/exec.go index 56e001ded..aec63d037 100644 --- a/internal/nginx/exec.go +++ b/internal/nginx/exec.go @@ -3,13 +3,28 @@ package nginx import ( "context" "os/exec" + "runtime" "github.com/0xJacky/Nginx-UI/internal/docker" "github.com/0xJacky/Nginx-UI/settings" ) func execShell(cmd string) (stdOut string, stdErr error) { - return execCommand("/bin/sh", "-c", cmd) + var execCmd *exec.Cmd + + if runtime.GOOS == "windows" { + execCmd = exec.Command("cmd", "/c", cmd) + } else { + execCmd = exec.Command("/bin/sh", "-c", cmd) + } + + execCmd.Dir = GetNginxExeDir() + bytes, err := execCmd.CombinedOutput() + stdOut = string(bytes) + if err != nil { + stdErr = err + } + return } func execCommand(name string, cmd ...string) (stdOut string, stdErr error) {