【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】
时间:2022-07-26
本文章向大家介绍【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
脚本使用说明:
首先在脚本的同级目录下有个 jdk的安装包
脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用 wget 从网上下载指定版本的 jdk 安装包)
#!/bin/sh
##############################################
#
# 安装Oracle jdk
# Author:左岩
# Date: 2019-07-25
#
##############################################
# 卸载系统原带的OpenJDK
uninstall_openjdk(){
# 查询系统上都安装了哪些openjdk的安装包
rpm -qa|grep java | awk '{cmd="rpm -e --nodeps "$0;system(cmd);print "正在卸载"$0"..."}'
if [ $(ps -ef|grep java|wc -l) -eq 0 ];then
echo '卸载openjdk完成'
fi
}
# 检测是系统是否有OpenJDK
check_openjdk()
{
java_install=$(rpm -qa|grep java |wc -l)
echo $java_install
if [ "$java_install" -eq "0" ]
then
echo '系统纯净,无OpenJDK 准备执行安装!'
else
echo '检测到系统有OPENJDk... 正准备执行卸载!'
uninstall_openjdk
fi
# 解压JDK 配置环境变量
}
install_jdk(){
echo '正在解压jdk.............'
# 执行配置JDK
file_name=$(find . -name "jdk-*.tar.gz")
# 检查目标文件夹是否存在如果不存在创建该目录
[ -d /opt/module ]||{
mkdir -p /opt/module
echo '创建文件夹成功!'
}
tar -zxvf $file_name -C /opt/module
# 配置环境变量
echo "#java jdk" >> /etc/profile
echo "export JAVA_HOME=/opt/module/jdk1.8.0_65" >> /etc/profile
echo 'export JRE_HOME=${JAVA_HOME}/jre' >> /etc/profile
echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile
echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> /etc/profile
source /etc/profile > /dev/null 2>&1
echo "jdk 安装完毕!"
echo;
echo;
echo "请执行以下命令以使jdk环境生效"
echo;
echo;
echo "source /etc/profile"
echo;
echo;
}
check_openjdk
install_jdk
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 设计模式学习(四)-UML中的类图及类图之间的关系
- 数据结构与算法(一)——学习工具的推荐
- sparc v8架构的异常处理
- 设计模式(五)-工厂方法模式
- html 的div或其他元素监听 resize事件不生效的解决办法
- 基于docker部署skywalking实现全链路监控
- 数据结构与算法(二)——十大排序算法
- VUE项目使用.env文件配置全局环境变量
- 设计模式学习(六)-抽象工厂模式
- 彻底完美解决安卓苹果手机点击输入框网页页面自动放大缩小
- 第22天:NLP实战(六)——基于PaddleHub的疫情期间网民情绪识别
- Echarts大数据可视化物流航向省份流向迁徙动态图,开发全解+完美参数注释
- Linux 常用操作以及概念
- GCD梳理与总结——封装
- 原生JS在网页上复制的所有文字后面自动加上一段版权声明