我想用Python脚本设置一个环境变量,影响我在其中启动脚本的 shell。这就是我的意思
python -c "import os;os.system('export TESTW=1')"
Run Code Online (Sandbox Code Playgroud)
但命令
echo ${TESTW}
Run Code Online (Sandbox Code Playgroud)
什么也不返回。还用表达
python -c "import os;os.environ['TEST']='1'"
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
还有另一种方法可以直接意义上做到这一点吗?或者将变量写入我从 Python 脚本“外部”执行的文件中是否更好?
您可以通过以下方式影响环境:putenv但它不会影响调用者环境,只会影响分叉子项的环境。在启动 python 脚本之前设置环境确实要好得多。
我可能会提出这样的变体。您创建一个 bash 脚本和一个 python 脚本。在 bash 脚本中,您可以使用参数调用 python 脚本。一个参数 - 一个环境变量。例如:
#!/bin/bash
export TESTV1=$(python you_program.py testv1)
export TESTV2=$(python you_program.py testv2)
Run Code Online (Sandbox Code Playgroud)
并you_program.py testv1仅返回一个环境变量的值。
| 归档时间: |
|
| 查看次数: |
4684 次 |
| 最近记录: |