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

时间:2018-04-27 07:32:00

标签: go cloudfoundry pivotal-cloud-foundry

我正在尝试从GoLang执行cloudfoundry CF Client。通常不会在我的git-bash终端/ cygwin终端中执行cf login命令。它仅在命令提示符(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 login时遇到同样的错误。以下是我的Go代码

    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包链接here告诉

与"系统"不同。来自C和其他语言的库调用,os / exec包故意不调用系统shell

请注意,此程序包中的示例假定为Unix系统。它们可能无法在Windows上运行,也不会在golang.org和godoc.org使用的Go Playground中运行。

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

0 个答案:

没有答案