windows: error message if using powershell/cmd and none specified

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
This commit is contained in:
Evan Hazlett 2015-06-09 13:18:15 -04:00
parent 7925bf2683
commit 7bd70db83b
No known key found for this signature in database
GPG Key ID: A519480096146526
1 changed files with 8 additions and 4 deletions

View File

@ -652,14 +652,18 @@ func getCertPathInfo(c *cli.Context) libmachine.CertPathInfo {
}
func detectShell() (string, error) {
// attempt to get the SHELL env var
shell := filepath.Base(os.Getenv("SHELL"))
// none detected; check for windows env and not bash (i.e. msysgit, etc)
if runtime.GOOS == "windows" && shell == "" {
// 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 == "" {
return "", ErrUnknownShell
}