1
0
mirror of https://github.com/docker/docs.git synced 2026-11-05 00:14:17 +03:00

Issue #1867 improve detectShell for windows

newer versions of git bash use mintty which doesn't set TERM=cygwin but
does set SHELL appropriately. Allow for SHELL to be detected on windows
and only output the message if its not.

Signed-off-by: Donovan Jimenez <donovan.jimenez@gmail.com>
This commit is contained in:
Donovan Jimenez
2015-09-17 14:56:46 -04:00
parent 993b5f557f
commit 1dfca96c69

View File

@@ -659,19 +659,16 @@ func getCertPathInfo(c *cli.Context) libmachine.CertPathInfo {
}
func detectShell() (string, error) {
// check for windows env and not bash (i.e. msysgit, etc)
// the SHELL env var is not set for processes in msysgit; we check
// for TERM instead
if runtime.GOOS == "windows" && os.Getenv("TERM") != "cygwin" {
log.Printf("On Windows, please specify either 'cmd' or 'powershell' with the --shell flag.\n\n")
return "", ErrUnknownShell
}
// attempt to get the SHELL env var
shell := filepath.Base(os.Getenv("SHELL"))
log.Debugf("shell: %s", shell)
if shell == "" {
// check for windows env and not bash (i.e. msysgit, etc)
if runtime.GOOS == "windows" {
log.Printf("On Windows, please specify either 'cmd' or 'powershell' with the --shell flag.\n\n")
}
return "", ErrUnknownShell
}