Ho uno script che assomiglia a questo:
export foo=/tmp/foo
export bar=/tmp/bar
Ogni volta che compilo eseguo 'source init_env' (dove init_env è lo script sopra) per impostare alcune variabili.
Per fare lo stesso in Python avevo questo codice in esecuzione,
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)
Ma poi qualcuno ha deciso che sarebbe stato carino aggiungere una riga come la seguente al init_envfile:
export PATH="/foo/bar:/bar/foo:$PATH"
Ovviamente il mio script Python è andato in pezzi. Potrei modificare lo script Python per gestire questa riga, ma poi si interromperà più tardi quando qualcuno presenterà una nuova funzionalità da utilizzare nel init_envfile.
La domanda è se esiste un modo semplice per eseguire un comando Bash e lasciarlo modificare il mio os.environ?