shell配置java環境變數和批處理配置環境變數
阿新 • • 發佈:2019-01-31
linux配置java環境只需在/etc/profile中新增以下
前提是把jdk解壓到/usr/local路徑,當然路徑可以隨便改
export JAVA_HOME=/usr/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_BIN
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
新增完畢後,執行
source /etc/profile
重新執行,使配置生效以下是配置java環境的shell和window上的批處理
執行shell的前提是,shell必須跟jdk在同一目錄下
1、shell裡面配置的環境變數,並且export變數,則新建每一個shell都能利用這些變數。(環境變數定義在/etc/profile中,則每次開機後,環境變數都export一次,即可用於系統任意地方)
在shell指令碼程式中定義了一個變數,當該指令碼程式執行時,這個定義的變數只是該指令碼程式內的一個區域性變數,其他的shell不能引用它,要使某個變數的值可以在其他shell中被改變,可以使用export命令對已定義的變數進行輸出。export命令將使系統在建立每一個新的shell時定義這個變數的一個拷貝。這個過程稱之為變數輸出。
#!/bin/bash #java environment variables Base_Path=$(cd `dirname $0`; pwd) echo $Base_Path JAVA_HOME=$Base_Path/jdk1.8.0_131 echo $JAVA_HOME JAVA_BIN=$Base_Path/jdk1.8.0_131/bin echo $JAVA_BIN PATH=$PATH:$JAVA_BIN echo $PATH CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar echo $CLASSPATH #cancel LD_LIBRARY_PATH define #LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$Base_Path/lib #echo $LD_LIBRARY_PATH #write java environment variables to /etc/profile if not exist grep -q "export JAVA_HOME" /etc/profile if [ $? -ne 0 ]; then echo "java environment variables not exist,starting define it" echo "export JAVA_HOME="$JAVA_HOME>>/etc/profile echo "export JAVA_BIN="$JAVA_BIN>>/etc/profile echo "export PATH=\$PATH:\$JAVA_BIN">>/etc/profile echo "export CLASSPATH="\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar>>/etc/profile #echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:$Base_Path/lib">>/etc/profile fi echo "Config Java Environment Variables Success" #compile file source /etc/profile #copy lib .so file to /usr/lib for file in $Base_Path/lib/* do #echo $file if test -f $file && [ "${file##*.}" = "so" ]; then echo "copy:"$file cp $file /usr/lib fi done echo "Config .so File Success" #compile .so file ldconfig #copy config.ini file if [ ! -f "/usr/local/config.ini" ]; then cp $Base_Path/lib/config.ini /usr/local echo "cp success" fi echo "Config Success"
2、批處理配置環境變數是永久的(必須支援setx 目前win7以上才有setx語句)
@echo off set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment set basepath=%~dp0 echo 當前路徑 %basepath% set javahome=%basepath%jdk1.8.0_131 echo javahome %javahome% set javalib=%basepath%lib echo javalib %javalib% rem LPY echo. echo ************************************************************ echo * * echo * JDK 系統環境變數設定 * echo * * echo ************************************************************ echo. echo === 準備設定環境變數: JAVA_HOME=%javahome% echo === 注意: 如果JAVA_HOME存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! === echo. echo === 準備設定環境變數: classPath=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;. echo === 注意: 如果classPath存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! === echo. echo === 準備設定環境變數: PATH=%%JAVA_HOME%%\bin echo === 注意: PATH會追加在最後面, echo. set /P EN=請確認後按 回車鍵 開始設定! echo. echo. echo. echo. rem 1:設定JAVA_HOME echo === 新建立環境變數 JAVA_HOME=%javahome% setx "JAVA_HOME" %javahome% -m echo JAVA_HOME %JAVA_HOME% echo. rem 2:設定classPath echo === 新建立環境變數 classPath=.;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar setx "classPath" ".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" -m echo classPath %classPath% echo. rem 3:設定 CATALINA_HOME rem echo == 新建立環境變數 CATALINA_HOME rem setx "CATALINA_HOME" "%basepath%apache-tomcat-8.0.44" -m rem 4:設定path echo === 新追加環境變數 PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; echo === 判斷是否已設定path rem findstr 查詢path是否存在字串 echo %path% | findstr /c:"%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%javalib%" if errorlevel 1 ( rem 找不到 echo ===path未設定環境變數,追加環境變數 setx path "%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%javalib%" -m ) else ( rem 找到 echo ===path已設定環境變數,跳過設定 ) echo %path% rem 建立資料夾 if not exist C:\Windows\VM md C:\Windows\VM rem 複製配置 if not exist C:\Windows\VM\config.ini copy %javalib%\config.ini C:\Windows\VM\ rem 執行驅動安裝 %basepath%HASPUserSetup\HASPUserSetup.exe echo 環境配置完畢 echo. rem LPY Zeus http://write.blog.csdn.net/postedit/9822439 echo === 請按任意鍵退出! pause>nul