一鍵部署安裝JDK
阿新 • • 發佈:2018-12-20
一、windows版本
@ECHO OFF ECHO ********************************************** ECHO * 用於安裝JDK並配置環境變數的批處理程式 ECHO * 以下注意事項: ECHO * 1)配置環境變數前會先備份登錄檔(備份當前指令碼所在資料夾的backup.reg) ECHO * 2)如配置的環境變數有問題請執行backup.reg還原 ECHO * 3)修改登錄檔,有些防毒軟體會報警,請點選信任 ECHO ********************************************** :: JDK的安裝路徑 SET JDK_INSTALL_PATH=C:\Program" "Files\Java\jdk1.8 :: 獲取當前安裝包名稱 FOR /r %~dp0 %%i IN (*.exe) DO (ECHO %%i|FIND "jdk">NUL && SET JDK_PACKAGE_PATH=%%i) ECHO 正在安裝JDK,請稍等...... START /WAIT %JDK_PACKAGE_PATH% /qn INSTALLDIR=%JDK_INSTALL_PATH% && ECHO JDK安裝成功! ECHO 配置JDK環境變數 ::使用者變數儲存路徑 SET userRegPath=HKEY_CURRENT_USER\Environment ::登錄檔備份路徑,%~dp0指的當前目錄 SET regBakupPath=%~dp0backup.reg ::JDK環境變數CLASSPATH SET CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar; ::配置JDK的path SET configJdkPath=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; ::查詢登錄檔的關鍵字 SET key=path ::使用關鍵字key查詢使用者環境變數登錄檔 REG QUERY %userRegPath% /v %key% 1>nul 2>nul ::若使用關鍵字key查詢使用者環境變數成功,將查詢出來變數的結果存到oldPathValue中 if %ERRORLEVEL%==0 ( for /f "tokens=3 delims= " %%i in ('REG QUERY %userRegPath% /v %key%') DO (SET oldPathValue=%%i) ) ECHO 備份組冊表... REG EXPORT %userRegPath% "%regBakupPath%" ECHO 新建環境變數JAVA_HOME SETX JAVA_HOME %JDK_INSTALL_PATH% ECHO 新建環境變數CLASSPATH SETX CLASSPATH "%CLASSPATH%" ECHO 設定PATH IF DEFINED oldPathValue ( SETX PATH "%oldPathValue%;%configJdkPath%" ) ELSE SETX PATH "%configJdkPath%" ECHO JDK環境變數配置成功! ECHO 校驗JDK安裝成功! java -version
二、Linux版本
#!/bin/sh # @author radiomen # 定義顯示顏色 RED='\e[1;91m' GREEN='\e[1;92m' WITE='\e[1;97m' NC='\e[0m' OPERATION_PATH=/opt TOMCAT_WEBAPPS_PATH=/opt/tomcat/webapps PROFILE_PATH=/etc/profile JDK_UNPACKAGE_NAME=jdk-8u191-linux-x64.tar.gz JDK_PACKAGE_NAME=jdk1.8.0_191 JAVA_HOME=/opt/jdk1.8.0_191 JRE_HOME=/opt/jdk1.8.0_191/jre function copy_package_to_opt() { echo 'Copy JDK package to /opt, it may take a moment !' cp ./$JDK_UNPACKAGE_NAME $OPERATION_PATH echo -e $RED 'Copy base package success !' $NC } function install_jdk() { echo 'Install JDK,it may take a moment !' cd $OPERATION_PATH tar -xzvf $JDK_UNPACKAGE_NAME && rm -rf $JDK_UNPACKAGE_NAME echo JAVA_HOME=$JAVA_HOME >> $PROFILE_PATH echo JRE_HOME=$JRE_HOME >> $PROFILE_PATH echo "CLASS_PATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar:\$JRE_HOME/lib PATH=\$PATH:\$JAVA_HOME/bin:\$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH" >> $PROFILE_PATH source $PROFILE_PATH echo -e $RED 'Install JDK success !' $NC } function main() { copy_package_to_opt install_jdk } main