Saya memiliki skrip yang terlihat seperti ini:
export foo=/tmp/foo
export bar=/tmp/bar
Setiap kali saya membangun, saya menjalankan 'source init_env' (di mana init_env adalah skrip di atas) untuk menyiapkan beberapa variabel.
Untuk mencapai hal yang sama dengan Python saya menjalankan kode ini,
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)
Tetapi kemudian seseorang memutuskan akan lebih baik untuk menambahkan baris seperti berikut ke init_envfile:
export PATH="/foo/bar:/bar/foo:$PATH"
Jelas skrip Python saya berantakan. Saya dapat memodifikasi skrip Python untuk menangani baris ini, tetapi kemudian akan rusak nanti ketika seseorang datang dengan fitur baru untuk digunakan dalam init_envfile.
Pertanyaannya adalah apakah ada cara mudah untuk menjalankan perintah Bash dan membiarkannya memodifikasi perintah saya os.environ?