Seite 1 von 1

Manipulation der Umgebungsvariablen durch Subprogramm

Verfasst: Mittwoch 3. Juli 2019, 19:03
von Windsaer
Hallo,

ich möchte in einem Pythonskript ein bash-File ausführen welches die Umgebungsvariablen manipuliert. Allerdings wird beim Ausführen mit os.system() bzw. subprocess.run() eine eigene Shell geöffnet. Die Umgebungsvariablen der Parent-shell ändern sich dadurch nicht.
Hat jemand eine Idee wie man die durch das bash-File geänderten Umgebungsvariablen auslesen kann, um sie auch im Pythonskript anzupassen?

Vielen Dank im Voraus

Windsaer

Re: Manipulation der Umgebungsvariablen durch Subprogramm

Verfasst: Mittwoch 3. Juli 2019, 21:09
von Sirius3

Re: Manipulation der Umgebungsvariablen durch Subprogramm

Verfasst: Mittwoch 3. Juli 2019, 21:56
von __blackjack__
@Windsaer: Das hat übrigens nichts mit Shells zu tun, denn `subprocess.run()` führt Dein Bash-Skript direkt aus, ohne noch einmal eine weitere Shell dazwischen zu schieben. Grundsätzlich kann man von einem Kindprozess die Umgebungsvariablen des Elternprozesses nicht ändern. Darum auch der Lösungsansatz von Sirius3 vom Elternprozess aus auf die Umgebungsvariablen vom Kindprozess zuzugreifen.