jdk 离线安装脚本
jdk 离线安装脚本
- 说明
- 脚本使用
- 完整脚本
- 脚本内容说明
- 1、是否卸载原有jdk,检查安装包是否正确
- 2、先卸载、再安装并检验安装成果
说明
经常装服务器环境,根据以前的安装经验写了个安装脚本。本人不是专业运维,也是边百度边写的,发现问题还请指正,交流。
服务器架构 x86
系统 CentOS Linux release 8.2.2004 (Core)
java 版本 1.8
脚本使用
此脚本会卸载已安装的jdk,请谨慎确认
传参格式:sh jdk_insatll.sh 安装包
使用默认安装路径,所以只指定了安装包。
sh jdk_insatll.sh jdk-8u202-linux-x64.rpm
主要就是这个命令安装了jdk,上传了安装包后可以直接执行这个命令安装jdk。
rpm -ivh jdk-8u202-linux-x64.rpm
使用rpm命令进行安装,不用再单独配置环境变量,可以直接全局调用
完整脚本
#!/bin/bash
# 函数定义:确认操作
confirm() {
read -r -p "执行安装程序将卸载以前安装的jdk,是否执行操作 [Y/n]? " response
case $response in
[yY][eE][sS]|[yY])
echo "确认并继续执行"
return 0
;;
[nN][oO]|[nN])
echo "取消操作"
exit 1
;;
*)
echo "无效输入,请输入 'yes' 或 'no'"
confirm
;;
esac
}
# 调用函数进行确认
confirm
# 以下是确认后需要执行的代码
echo "操作已确认,继续执行脚本..."
if [ -z "$1" ]; then
echo "请指定jdk安装包,示例:sh $0 jdk-8u202-linux-x64.rpm"
exit 0
fi
echo "通过rpm卸载已有jdk"
echo "执行:rpm -e --nodeps `rpm -qa | grep java`"
rpm -e --nodeps `rpm -qa | grep java`
echo "执行:rpm -e --nodeps `rpm -qa | grep jdk`"
rpm -e --nodeps `rpm -qa | grep jdk`
echo "安装jdk jdk 文件地址:$1"
rpm -ivh "$1"
echo 安装完成
java -version
脚本内容说明
1、是否卸载原有jdk,检查安装包是否正确
并没有区分openjdk或者oraclejdk,也没有区分版本。卸载已安装的jdk,谨慎确认。
确认继续安装,不确认退出安装
# 函数定义:确认操作
confirm() {
read -r -p "执行安装程序将卸载以前安装的jdk,是否执行操作 [Y/n]? " response
case $response in
[yY][eE][sS]|[yY])
echo "确认并继续执行"
return 0
;;
[nN][oO]|[nN])
echo "取消操作"
exit 1
;;
*)
echo "无效输入,请输入 'yes' 或 'no'"
confirm
;;
esac
}
# 调用函数进行确认
confirm
# 以下是确认后需要执行的代码
echo "操作已确认,继续执行脚本..."
if [ -z "$1" ]; then
echo "请指定jdk安装包,示例:sh $0 jdk-8u202-linux-x64.rpm"
exit 0
fi
2、先卸载、再安装并检验安装成果
echo "通过rpm卸载已有jdk"
echo "执行:rpm -e --nodeps `rpm -qa | grep java`"
rpm -e --nodeps `rpm -qa | grep java`
echo "执行:rpm -e --nodeps `rpm -qa | grep jdk`"
rpm -e --nodeps `rpm -qa | grep jdk`
echo "安装jdk jdk 文件地址:$1"
rpm -ivh "$1"
echo 安装完成
java -version