我试图让python脚本的输出是可源的。即我希望能够运行:
$ source <(python example.py)
它总是以同样的问题失败:
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
这是example.py:
print("export ENV_VAR=abc")
有没有办法解决?我试图尝试捕获异常(BrokenPipeError)但它似乎不起作用。这个例外似乎阻止了采购工作
$ echo $ENV_VAR
没有给我什么
也许eval
或export
可用于将Python
脚本中的变量导入当前的Bash
环境:
export $( python example.py )
echo $ENV_VAR
...要么...
eval $( python example.py )
echo $ENV_VAR
可能有更好的方法来处理这个问题,尽管两者都应该输出“abc”。