2014-10-02 30 views
1

我试图做一个python脚本,以32位和64位Java之间,但由于某种原因

os.system('export JAVA_HOME=/usr/java/path') 
os.system('export PATH=$JAVA_HOME/bin:$PATH') 

什么也不做切换,但手动它的工作原理。我怎样才能解决这个问题? (顺便说一下,这是在Linux系统上运行的。)

回答

1

export线将设置在其它的执行及其所有子壳的壳的环境变量。但是,这里发生的事情是,Python创建一个新的shell,执行该行来设置环境变量,然后shell终止。这意味着环境变量不再有效。事实上,在第一行中设置的JAVA_HOME环境变量在第二行执行时甚至不会生效,因为它在它自己的shell中也会立即终止!

轮是运行整个shell脚本,设置环境变量,然后的方式推出的Java:

#!/bin/bash 

JAVA_HOME=/usr/java/path 
PATH=$JAVA_HOME/bin:$PATH 

java ... 
+0

谢谢,我已经得到了点。我已经添加到脚本行“运行.jar文件,它正在工作” – Chris 2014-10-02 20:07:51

1

环境变量对每个进程都是本地的。如果你想永久改变,那么你可以按照官方的java PATH instructions。他们建议将export variable命令添加到.bashrc文件中。

在〜/ .bashrc:

export JAVA_HOME=/usr/java/path 
export PATH=$JAVA_HOME/bin:$PATH