我试图让python脚本在32位和64位java之间切换,但出于某种原因
os.system('export JAVA_HOME=/usr/java/path')
os.system('export PATH=$JAVA_HOME/bin:$PATH')
什么都不做,但手动工作。我怎样才能解决这个问题? (顺便说一句,这是在Linux系统上运行的。)
答案 0 :(得分:1)
环境变量是每个进程的本地变量。如果您想进行永久性更改,那么您可以按照官方java PATH instructions进行操作。他们建议将导出变量命令添加到.bashrc文件中。
在〜/ .bashrc中:
export JAVA_HOME=/usr/java/path
export PATH=$JAVA_HOME/bin:$PATH
答案 1 :(得分:1)
export
行将为执行它的shell及其所有子shell设置一个环境变量。但是,这里发生的是Python创建一个新的shell,执行该行来设置环境变量,然后shell终止。这意味着环境变量不再有效。事实上,您在第一行中设置的JAVA_HOME
环境变量在执行时对第二行甚至不会有效,因为它自己的shell中也会立即终止!<\ n / p>
绕过它的方法是运行一个设置环境变量的整个shell脚本然后启动Java:
#!/bin/bash
JAVA_HOME=/usr/java/path
PATH=$JAVA_HOME/bin:$PATH
java ...