Bladeren bron

grass.py: fix startup in case of missing SHELL var (eg docker)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@64684 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Neteler 10 jaren geleden
bovenliggende
commit
7ad81530ae
1 gewijzigde bestanden met toevoegingen van 7 en 1 verwijderingen
  1. 7 1
      lib/init/grass.py

+ 7 - 1
lib/init/grass.py

@@ -901,7 +901,13 @@ def check_shell():
         os.environ['SHELL'] = "/usr/bin/bash.exe"
         os.environ['SHELL'] = "/usr/bin/bash.exe"
         os.environ['OSTYPE'] = "cygwin"
         os.environ['OSTYPE'] = "cygwin"
     else:
     else:
-        sh = os.path.basename(os.getenv('SHELL'))
+        # in docker the 'SHELL' variable may not be
+        # visible in a Python session
+        try:
+            sh = os.path.basename(os.getenv('SHELL'))
+        except:
+            sh = 'sh'
+            os.environ['SHELL'] = "sh" 
         if windows and sh:
         if windows and sh:
             sh = os.path.splitext(sh)[0]
             sh = os.path.splitext(sh)[0]