使用空格导出环境变量

时间:2017-06-22 17:35:26

标签: bash shell environment-variables

我希望有一种处理环境变量的一致方法。例如,我有一个文件.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')

1 个答案:

答案 0 :(得分:1)

您可以忽略grep,xargs和IFS,并将BaseClassSubClass一起使用:

methodA()