我试图做一个python脚本,以32位和64位Java之间,但由于某种原因
os.system('export JAVA_HOME=/usr/java/path')
os.system('export PATH=$JAVA_HOME/bin:$PATH')
什么也不做切换,但手动它的工作原理。我怎样才能解决这个问题? (顺便说一下,这是在Linux系统上运行的。)
我试图做一个python脚本,以32位和64位Java之间,但由于某种原因
os.system('export JAVA_HOME=/usr/java/path')
os.system('export PATH=$JAVA_HOME/bin:$PATH')
什么也不做切换,但手动它的工作原理。我怎样才能解决这个问题? (顺便说一下,这是在Linux系统上运行的。)
的export
线将设置在其它的执行及其所有子壳的壳的环境变量。但是,这里发生的事情是,Python创建一个新的shell,执行该行来设置环境变量,然后shell终止。这意味着环境变量不再有效。事实上,在第一行中设置的JAVA_HOME
环境变量在第二行执行时甚至不会生效,因为它在它自己的shell中也会立即终止!
轮是运行整个shell脚本,设置环境变量,然后的方式推出的Java:
#!/bin/bash
JAVA_HOME=/usr/java/path
PATH=$JAVA_HOME/bin:$PATH
java ...
环境变量对每个进程都是本地的。如果你想永久改变,那么你可以按照官方的java PATH instructions。他们建议将export variable命令添加到.bashrc文件中。
在〜/ .bashrc:
export JAVA_HOME=/usr/java/path
export PATH=$JAVA_HOME/bin:$PATH
谢谢,我已经得到了点。我已经添加到脚本行“运行.jar文件,它正在工作” – Chris 2014-10-02 20:07:51