我試圖做一個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