Eu tenho um script parecido com este:
export foo=/tmp/foo
export bar=/tmp/bar
Toda vez que eu construo, eu executo 'source init_env' (onde init_env é o script acima) para configurar algumas variáveis.
Para fazer o mesmo em Python, coloquei este código em execução,
reg = re.compile('export (?P<name>\w+)(\=(?P<value>.+))*')
for line in open(file):
m = reg.match(line)
if m:
name = m.group('name')
value = ''
if m.group('value'):
value = m.group('value')
os.putenv(name, value)
Mas então alguém decidiu que seria bom adicionar uma linha como a seguinte ao init_env
arquivo:
export PATH="/foo/bar:/bar/foo:$PATH"
Obviamente, meu script Python se desfez. Eu poderia modificar o script Python para lidar com essa linha, mas ele apenas será interrompido mais tarde, quando alguém surgir com um novo recurso para usar no init_env
arquivo.
A questão é se existe uma maneira fácil de executar um comando Bash e deixá-lo modificar o meu os.environ
?