我尝试制作一个 python 脚本来在 32 位和 64 位 java 之间切换,但由于某种原因
os.system('export JAVA_HOME=/usr/java/path')
os.system('export PATH=$JAVA_HOME/bin:$PATH')
什么也不做,但手动它可以工作。我怎样才能解决这个问题? (顺便说一句,这是在 Linux 系统上运行的。)
最佳答案
export
行将为执行它的 shell 及其所有子 shell 设置一个环境变量。但这里发生的是 Python 创建一个新的 shell,执行设置环境变量的行,然后 shell 终止。这意味着环境变量不再有效。事实上,您在第一行中设置的 JAVA_HOME
环境变量在执行时甚至不会对第二行生效,因为它在它自己的 shell 中,也会立即终止!
解决方法是运行一个完整的 shell 脚本来设置环境变量,然后启动 Java:
#!/bin/bash
JAVA_HOME=/usr/java/path
PATH=$JAVA_HOME/bin:$PATH
java ...
关于java - 更改 python 脚本中的 $JAVA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168493/