在windows CMD中的GoLang中运行shell命令

在windows CMD中的GoLang中运行shell命令,go,cloud-foundry,Go,Cloud Foundry,我正在尝试从我的GoLang执行cloudfoundry CF客户端。cf login命令通常不会在my git bash终端/cygwin终端中执行。它只能在命令提示符下正确执行(CMD.exe)。所以我总是只从CMD.exe执行cf login命令 现在我尝试从GoLang执行命令,发现它是在cygwin/git-bash模式下执行的,并给出以下错误作为输出 API endpoint: https://api.sys-pcf.cf.MYCOMPANY.com Authenticating..

我正在尝试从我的GoLang执行cloudfoundry CF客户端。cf login命令通常不会在my git bash终端/cygwin终端中执行。它只能在命令提示符下正确执行(CMD.exe)。所以我总是只从CMD.exe执行
cf login
命令

现在我尝试从GoLang执行命令,发现它是在cygwin/git-bash模式下执行的,并给出以下错误作为输出

API endpoint: https://api.sys-pcf.cf.MYCOMPANY.com
Authenticating...
Credentials were rejected, please try again.
Authenticating...
Credentials were rejected, please try again.
Authenticating...
Credentials were rejected, please try again.
当我从cygwin执行cf登录时,我会遇到相同的错误。下面是我的密码

    cf :="cf"
    login := "login"
    sso := "--sso"
    apiFlag := "-a"

    command := exec.Command(cf,login,sso,apiFlag,foundationUrl)


    stdout, err := command.Output()

    if err != nil {
        fmt.Println("Error")
    }

    fmt.Print(string(stdout))
请告诉我如何以windows样式或通过命令提示符执行这些命令

os.exec包链接告诉我们

与C和其他语言的“系统”库调用不同,os/exec包故意不调用系统shell

请注意,此包中的示例假定为Unix系统。它们不能在Windows上运行,也不能在golang.org和godoc.org使用的围棋场上运行


我认为exec包本身不支持windows shell

您是如何运行代码的?我最好的猜测是您的本机控制台和cygwin不共享相同的路径,因此客户端无法连接。因此,如果您从cygwin控制台运行golang程序,它将面临相同的问题。或者,如果您知道为什么客户端只能在本机shell中正确执行,那么另一个解决方案是解决这个问题。
fmt.Println(err)
在这里不起作用,因为命令执行不会发生任何错误,然而,
cf登录
被拒绝,有很多讨论正在进行,以确定cf登录为什么不能在CYGWIN模式下工作。这方面没有具体的解决办法。它只在命令提示符下工作。因此,我们必须指示GoLang在命令提示符样式中执行此命令。cf是什么?cf登录“cf”不被识别为内部或外部命令、可操作程序或批处理文件。cf是cloud foundry CLI工具