Python “评估”$(cat配置文件|/打印到_env_variables.py)";不在函数中工作
我有一个简单的bash脚本,它使用的config.ini文件如下所示:Python “评估”$(cat配置文件|/打印到_env_variables.py)";不在函数中工作,python,bash,Python,Bash,我有一个简单的bash脚本,它使用的config.ini文件如下所示: [a] b=1 c=2 ... 在bash脚本中,我有时执行eval“$(cat config_file |./print_to_env_variables.py),其中python脚本是: config = ConfigParser() config.readfp(sys.stdin) for sction in config.sections(): print('declare -A {}'.format(sc
[a]
b=1
c=2
...
在bash脚本中,我有时执行eval“$(cat config_file |./print_to_env_variables.py)
,其中python脚本是:
config = ConfigParser()
config.readfp(sys.stdin)
for sction in config.sections():
print('declare -A {}'.format(sction))
for k, v in config.items(sction):
print("{}[{}]={}'.format(sction, k ,v))
现在,这个脚本所做的是将所有部分添加到env变量中,允许我从bash中这样使用它们:echo“${a[b]}”
这只有在我这样做时才有效:
为什么会这样?
在shell函数中声明一个不存在于函数外部的局部变量。要声明全局变量,必须添加-g
开关。
请参见shell函数中的帮助声明
或man bash声明
声明函数外部不存在的局部变量。要声明全局变量,必须添加-g
开关。
请参见帮助声明
或man bash
了解它的价值,这是一个真正的价值,这是一个真正的价值