0
我想要一個處理環境變量的一致方法。比如我有一個文件.env.development
包含:用空格導出環境變量
# Some comment to be ignored
VAR0='some""" value0'
VAR1="some value1"
VAR2=ignored_value
VAR2=some_value2
從bash shell中,我可以設置shell變量(而不是環境變量):
$ source .env.development
$ echo $VAR0
some""" value0
$ echo $VAR1
some value1
我也想使這些變量可用子進程從shell啓動:
script.py
#!/usr/bin/python
import os
print("VAR0 is:", os.environ.get("VAR0")
因此我需要導出這些變量。使用下面的接近,但保留了引號需要允許採購文件:
$ IFS=$'\n' && export $(grep -v ^# .env.development | xargs -0) && unset IFS && ./script.py
('VAR0 is:', '\'some""" value0\'')
我希望得到的輸出:
('VAR0 is:', 'some""" value0')