2017-06-22 12 views
0

環境変数を一貫して扱いたいと思います。私はまた、これらの変数を利用できるようにしたい空白で環境変数をエクスポートする

$ source .env.development 
$ echo $VAR0 
some""" value0 
$ echo $VAR1 
some value1 

:私はシェル変数(ない環境変数)を設定することができますbashシェルから

# Some comment to be ignored 
VAR0='some""" value0' 
VAR1="some value1" 
VAR2=ignored_value 
VAR2=some_value2 

:たとえば、私は、ファイル.env.development含むを持っていますシェルから起動サブプロセス:

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') 

答えて

0

あなたはgrepを、xargsのとIFSを無視してset -aを使用することができますsource

$ set -a && source .env.development && set +a && ./script.py 
('VAR0 is:', 'some""" value0')