# vim:sw=4:ts=4:et
<<INFO
AUTHOR:运维@小兵
DATE:2021-07-07
DESCRIBE:安装/卸载JDK
SYSTEM:CentOS7/RedHat7
WARNING:
MODIFY:
INFO
set -e
WORKDIR=$(cd `dirname $0`;pwd) #脚本所在路径
DATA_DIR="/app" #数据路径
JDK_VERSION="1.8.0_161"
JDK_PKG_NAME="jdk${JDK_VERSION}" #JDK包名
JDK_DIR="${DATA_DIR}/jdk"
JAVA_HOME="${JDK_DIR}/${JDK_PKG_NAME}"
#环境检查
Check_Env(){
if [[ $UID -ne 0 ]];then
echo "ERROR:Please Use Admin(root) Excute......" && exit 1
fi
}
Install_Jdk(){
echo "INFO:Begin Install Jdk ${JDK_VERSION}..."
if command -v java &> /dev/null;then
java -version
echo "INFO:Already Install Jdk" && exit 0
fi
[[ -d ${JDK_DIR} ]] && echo "ERROR:${JDK_DIR} Exist,Please Change Directory Or bash $0 uninstall..." && exit 1
mkdir -p ${JDK_DIR}
[[ ! -f ${WORKDIR}/${JDK_PKG_NAME}.tgz ]] && echo "ERROR:${WORKDIR}/${JDK_PKG_NAME}.tgz Not Exist" && exit 1
mkdir -p ${JDK_DIR}
tar xf "${WORKDIR}/${JDK_PKG_NAME}".tgz -C ${JDK_DIR}
if [[ ! -f /etc/profile.bak ]];then
cp /etc/profile{,.bak}
fi
tee -a /etc/profile << EOF
export JAVA_HOME=${JAVA_HOME}
export PATH=\$JAVA_HOME/bin:\$PATH
export CLASS_PATH=\$JAVA_HOME/lib
EOF
source /etc/profile
if command -v java &> /dev/null;then
# local java_version=$(java -version 2>&1 | sed '1!d' | sed -e 's/"//g' | awk '{print $3}')
echo "INFO:Jdk Install Success..."
else
echo "ERROR:Jdk Install Fail..." && exit 1
fi
}
Unstall_Jdk(){
echo "INFO:Begin Unstall Jdk..."
rm -rf ${JDK_DIR}
sed -i '/JAVA_HOME/d' /etc/profile
if ! command -v java &> /dev/null;then
echo "INFO:Uninstall Jdk Success"
else
echo "ERROR:Uninstall Jdk Fail"
fi
}
######################主程序######################
[[ $# -ne 1 ]] && echo "ERROR:Invalid Param!!! eg:bash $0 (install|uninstall)" && exit 1
Check_Env
case $1 in
install)
Install_Jdk;;
uninstall)
Unstall_Jdk;;
*)
echo "ERROR:Invalid Param!!! eg:bash $0 (install|uninstall)" && exit 1
esac