I’m trying to execute a series of commands using Pythons subprocess module, however I need to set shell variables with export before running them. Of course the shell doesn’t seem to be persistent so when I run a command later those shell variables are lost.
Is there any way to go about this? I could create a /bin/sh process, but how would I get the exit codes of the commands run under that?
subprocess.Popentakes an optional named argumentenvthat’s a dictionary to use as the subprocess’s environment (what you’re describing as “shell variables”). Prepare a dict as you need it (you may start with a copy ofos.environand alter that as you need) and pass it to all thesubprocess.Popencalls you perform.