Я пытаюсь запустить Cloudfoundry CF Client из моего GoLang. Команда cf login
обычно не выполняется в моем терминале git-bash / терминале cygwin. Правильно выполняется только в командной строке (CMD.exe). Поэтому я всегда выполняю команду cf login
только из моего CMD.exe.
Теперь я попытался выполнить команду из 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.
Я получаю ту же ошибку, когда выполняю cf login от cygwin. Ниже мой код 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 здесь говорит о том, что
В отличие от вызова «системной» библиотеки из C и других языков, пакет os / exec намеренно не вызывает системную оболочку
Обратите внимание, что примеры в этом пакете предполагают систему Unix. Они могут не работать в Windows и не запускаться на игровой площадке Go, используемой golang.org и godoc.org.
Я думаю, что пакет exec сам по себе не поддерживает оболочку Windows