centos789手动无脑用sh脚本安装Java8

打印 上一主题 下一主题

主题 681|帖子 681|积分 2047

#老师给的文件是jdk1.8版本,所以我这边写的也是8的脚本
输入命令:mkdir –p /export/data
#放置相关的数据文件
输入命令mkdir –p /export/servers
#软件的安装目录
输入命令:mkdir –p /export/software
上传文件jdk-8u241-linux-x64.tar.gz到/export/software目录
然后写一个安装脚本,vim install_jdk.sh
 
脚本代码
  1. #!/bin/bash
  2. # 确保以 root 用户运行
  3. if [ "$(id -u)" -ne "0" ]; then
  4.   echo "请以 root 用户运行此脚本!"
  5.   exit 1
  6. fi
  7. # 定义目录和文件路径
  8. SOFTWARE_DIR="/export/software"
  9. SERVER_DIR="/export/servers"
  10. JAVA_TAR="jdk-8u241-linux-x64.tar.gz"
  11. JAVA_DIR="jdk1.8.0_241"
  12. JAVA_SYMLINK="jdk"
  13. # 确保目标目录存在
  14. if [ ! -d "$SOFTWARE_DIR" ]; then
  15.   echo "目录 $SOFTWARE_DIR 不存在,正在创建..."
  16.   mkdir -p "$SOFTWARE_DIR"
  17.   if [ $? -ne 0 ]; then
  18.     echo "创建目录 $SOFTWARE_DIR 失败。"
  19.     exit 1
  20.   fi
  21. fi
  22. if [ ! -d "$SERVER_DIR" ]; then
  23.   echo "目录 $SERVER_DIR 不存在,正在创建..."
  24.   mkdir -p "$SERVER_DIR"
  25.   if [ $? -ne 0 ]; then
  26.     echo "创建目录 $SERVER_DIR 失败。"
  27.     exit 1
  28.   fi
  29. fi
  30. # 切换到软件目录
  31. cd "$SOFTWARE_DIR" || { echo "无法切换到目录 $SOFTWARE_DIR"; exit 1; }
  32. # 检查 JDK 压缩包是否存在
  33. if [ ! -f "$JAVA_TAR" ]; then
  34.   echo "压缩包 $JAVA_TAR 不存在,请上传该文件后再运行脚本。"
  35.   exit 1
  36. fi
  37. # 解压 JDK 包
  38. echo "正在解压 $JAVA_TAR 到 $SERVER_DIR..."
  39. tar -zxvf "$JAVA_TAR" -C "$SERVER_DIR" || { echo "解压失败"; exit 1; }
  40. # 切换到解压后的目录
  41. cd "$SERVER_DIR" || { echo "无法切换到目录 $SERVER_DIR"; exit 1; }
  42. # 重命名解压后的 JDK 目录
  43. if [ -d "$JAVA_DIR" ]; then
  44.   echo "重命名 $JAVA_DIR 为 $JAVA_SYMLINK..."
  45.   mv "$JAVA_DIR" "$JAVA_SYMLINK" || { echo "重命名失败"; exit 1; }
  46. else
  47.   echo "目录 $JAVA_DIR 不存在,检查解压结果。"
  48.   exit 1
  49. fi
  50. # 配置 JDK 环境变量
  51. PROFILE_FILE="/etc/profile"
  52. echo "配置 JDK 环境变量..."
  53. {
  54.   echo "# JDK 环境变量配置"
  55.   echo "export JAVA_HOME=$SERVER_DIR/$JAVA_SYMLINK"
  56.   echo "export PATH=$PATH:$JAVA_HOME/bin"
  57.   echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
  58. } >> "$PROFILE_FILE"
  59. # 重新加载环境变量配置
  60. source "$PROFILE_FILE" || { echo "无法重新加载环境变量配置"; exit 1; }
  61. # 修正 Java 执行文件的权限
  62. echo "修正 Java 执行文件的权限..."
  63. chmod -R +x "$SERVER_DIR/$JAVA_SYMLINK/bin/java" || { echo "修正权限失败"; exit 1; }
  64. # 验证 Java 是否安装成功
  65. echo "验证 Java 安装..."
  66. java -version || { echo "Java 安装失败"; exit 1; }
  67. echo "Java 安装和配置完成!"
  68. root@iZbp194zd87uhtpqlqkf3gZ:~#
  69. cat /root/install_jdk.sh
  70. #!/bin/bash
  71. # 确保以 root 用户运行
  72. if [ "$(id -u)" -ne "0" ]; then
  73.   echo "请以 root 用户运行此脚本!"
  74.   exit 1
  75. fi
  76. # 定义目录和文件路径
  77. SOFTWARE_DIR="/export/software"
  78. SERVER_DIR="/export/servers"
  79. JAVA_TAR="jdk-8u241-linux-x64.tar.gz"
  80. JAVA_DIR="jdk1.8.0_241"
  81. JAVA_SYMLINK="jdk"
  82. # 确保目标目录存在
  83. if [ ! -d "$SOFTWARE_DIR" ]; then
  84.   echo "目录 $SOFTWARE_DIR 不存在,正在创建..."
  85.   mkdir -p "$SOFTWARE_DIR"
  86.   if [ $? -ne 0 ]; then
  87.     echo "创建目录 $SOFTWARE_DIR 失败。"
  88.     exit 1
  89.   fi
  90. fi
  91. if [ ! -d "$SERVER_DIR" ]; then
  92.   echo "目录 $SERVER_DIR 不存在,正在创建..."
  93.   mkdir -p "$SERVER_DIR"
  94.   if [ $? -ne 0 ]; then
  95.     echo "创建目录 $SERVER_DIR 失败。"
  96.     exit 1
  97.   fi
  98. fi
  99. # 切换到软件目录
  100. cd "$SOFTWARE_DIR" || { echo "无法切换到目录 $SOFTWARE_DIR"; exit 1; }
  101. # 检查 JDK 压缩包是否存在
  102. if [ ! -f "$JAVA_TAR" ]; then
  103.   echo "压缩包 $JAVA_TAR 不存在,请上传该文件后再运行脚本。"
  104.   exit 1
  105. fi
  106. # 解压 JDK 包
  107. echo "正在解压 $JAVA_TAR 到 $SERVER_DIR..."
  108. tar -zxvf "$JAVA_TAR" -C "$SERVER_DIR" || { echo "解压失败"; exit 1; }
  109. # 切换到解压后的目录
  110. cd "$SERVER_DIR" || { echo "无法切换到目录 $SERVER_DIR"; exit 1; }
  111. # 重命名解压后的 JDK 目录
  112. if [ -d "$JAVA_DIR" ]; then
  113.   echo "重命名 $JAVA_DIR 为 $JAVA_SYMLINK..."
  114.   mv "$JAVA_DIR" "$JAVA_SYMLINK" || { echo "重命名失败"; exit 1; }
  115. else
  116.   echo "目录 $JAVA_DIR 不存在,检查解压结果。"
  117.   exit 1
  118. fi
  119. # 配置 JDK 环境变量
  120. PROFILE_FILE="/etc/profile"
  121. echo "配置 JDK 环境变量..."
  122. {
  123.   echo "# JDK 环境变量配置"
  124.   echo "export JAVA_HOME=$SERVER_DIR/$JAVA_SYMLINK"
  125.   echo "export PATH=$PATH:$JAVA_HOME/bin"
  126.   echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
  127. } >> "$PROFILE_FILE"
  128. # 重新加载环境变量配置
  129. source "$PROFILE_FILE" || { echo "无法重新加载环境变量配置"; exit 1; }
  130. # 修正 Java 执行文件的权限
  131. echo "修正 Java 执行文件的权限..."
  132. chmod -R +x "$SERVER_DIR/$JAVA_SYMLINK/bin/java" || { echo "修正权限失败"; exit 1; }
  133. # 验证 Java 是否安装成功
  134. echo "验证 Java 安装..."
  135. java -version || { echo "Java 安装失败"; exit 1; }
  136. echo "Java 安装和配置完成!"
复制代码
记得赋予权限chmod +x install_jdk.sh
 
执行这个脚本首先要包管 /export/servers和/export/software这两个文件以及建立且jdk软件包和我一样是jdk-8u241-linux-x64.tar.gz且解压出来的文件夹名为jdk1.8.0_241
如何自己运行Java -version 不成功检测一下 /etc/profile文件,是否和下面图片的文件一致。
vim /etc/profile

 
假如你要安装其他的Java版本,比如openjdk-8u44-linux-x64.tar.gz,那你可以将下面两个参数变一下。如图:
JAVA_TAR="openjdk-8u44-linux-x64.tar.gz"
JAVA_DIR="java-se-8u44-ri"
如何设置参数:在你自己的Windows电脑双击你下载好的jdk安装包,然后查看内里的文件夹名称

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表