2014-10-02 79 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