centos789手動無腦用sh腳本安裝Java8

来源:https://www.cnblogs.com/zhangxiaozhang001/p/18421163
-Advertisement-
Play Games

#老師給的文件是jdk1.8版本,所以我這邊寫的也是8的腳本 輸入命令:mkdir –p /export/data #放置相關的數據文件 輸入命令mkdir –p /export/servers #軟體的安裝目錄 輸入命令:mkdir –p /export/software 上傳文件jdk-8u24 ...


#老師給的文件是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

 

腳本代碼
 #!/bin/bash

# 確保以 root 用戶運行
if [ "$(id -u)" -ne "0" ]; then
  echo "請以 root 用戶運行此腳本!"
  exit 1
fi

# 定義目錄和文件路徑
SOFTWARE_DIR="/export/software"
SERVER_DIR="/export/servers"
JAVA_TAR="jdk-8u241-linux-x64.tar.gz"
JAVA_DIR="jdk1.8.0_241"
JAVA_SYMLINK="jdk"

# 確保目標目錄存在
if [ ! -d "$SOFTWARE_DIR" ]; then
  echo "目錄 $SOFTWARE_DIR 不存在,正在創建..."
  mkdir -p "$SOFTWARE_DIR"
  if [ $? -ne 0 ]; then
    echo "創建目錄 $SOFTWARE_DIR 失敗。"
    exit 1
  fi
fi

if [ ! -d "$SERVER_DIR" ]; then
  echo "目錄 $SERVER_DIR 不存在,正在創建..."
  mkdir -p "$SERVER_DIR"
  if [ $? -ne 0 ]; then
    echo "創建目錄 $SERVER_DIR 失敗。"
    exit 1
  fi
fi

# 切換到軟體目錄
cd "$SOFTWARE_DIR" || { echo "無法切換到目錄 $SOFTWARE_DIR"; exit 1; }

# 檢查 JDK 壓縮包是否存在
if [ ! -f "$JAVA_TAR" ]; then
  echo "壓縮包 $JAVA_TAR 不存在,請上傳該文件後再運行腳本。"
  exit 1
fi

# 解壓 JDK 包
echo "正在解壓 $JAVA_TAR 到 $SERVER_DIR..."
tar -zxvf "$JAVA_TAR" -C "$SERVER_DIR" || { echo "解壓失敗"; exit 1; }

# 切換到解壓後的目錄
cd "$SERVER_DIR" || { echo "無法切換到目錄 $SERVER_DIR"; exit 1; }

# 重命名解壓後的 JDK 目錄
if [ -d "$JAVA_DIR" ]; then
  echo "重命名 $JAVA_DIR 為 $JAVA_SYMLINK..."
  mv "$JAVA_DIR" "$JAVA_SYMLINK" || { echo "重命名失敗"; exit 1; }
else
  echo "目錄 $JAVA_DIR 不存在,檢查解壓結果。"
  exit 1
fi

# 配置 JDK 環境變數
PROFILE_FILE="/etc/profile"
echo "配置 JDK 環境變數..."
{
  echo "# JDK 環境變數配置"
  echo "export JAVA_HOME=$SERVER_DIR/$JAVA_SYMLINK"
  echo "export PATH=$PATH:$JAVA_HOME/bin"
  echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"
} >> "$PROFILE_FILE"

# 重新載入環境變數配置
source "$PROFILE_FILE" || { echo "無法重新載入環境變數配置"; exit 1; }

# 修正 Java 執行文件的許可權
echo "修正 Java 執行文件的許可權..."
chmod -R +x "$SERVER_DIR/$JAVA_SYMLINK/bin/java" || { echo "修正許可權失敗"; exit 1; }

# 驗證 Java 是否安裝成功
echo "驗證 Java 安裝..."
java -version || { echo "Java 安裝失敗"; exit 1; }

echo "Java 安裝和配置完成!"

root@iZbp194zd87uhtpqlqkf3gZ:~# 
cat /root/install_jdk.sh 
#!/bin/bash

# 確保以 root 用戶運行
if [ "$(id -u)" -ne "0" ]; then
  echo "請以 root 用戶運行此腳本!"
  exit 1
fi

# 定義目錄和文件路徑
SOFTWARE_DIR="/export/software"
SERVER_DIR="/export/servers"
JAVA_TAR="jdk-8u241-linux-x64.tar.gz"
JAVA_DIR="jdk1.8.0_241"
JAVA_SYMLINK="jdk"

# 確保目標目錄存在
if [ ! -d "$SOFTWARE_DIR" ]; then
  echo "目錄 $SOFTWARE_DIR 不存在,正在創建..."
  mkdir -p "$SOFTWARE_DIR"
  if [ $? -ne 0 ]; then
    echo "創建目錄 $SOFTWARE_DIR 失敗。"
    exit 1
  fi
fi

if [ ! -d "$SERVER_DIR" ]; then
  echo "目錄 $SERVER_DIR 不存在,正在創建..."
  mkdir -p "$SERVER_DIR"
  if [ $? -ne 0 ]; then
    echo "創建目錄 $SERVER_DIR 失敗。"
    exit 1
  fi
fi

# 切換到軟體目錄
cd "$SOFTWARE_DIR" || { echo "無法切換到目錄 $SOFTWARE_DIR"; exit 1; }

# 檢查 JDK 壓縮包是否存在
if [ ! -f "$JAVA_TAR" ]; then
  echo "壓縮包 $JAVA_TAR 不存在,請上傳該文件後再運行腳本。"
  exit 1
fi

# 解壓 JDK 包
echo "正在解壓 $JAVA_TAR 到 $SERVER_DIR..."
tar -zxvf "$JAVA_TAR" -C "$SERVER_DIR" || { echo "解壓失敗"; exit 1; }

# 切換到解壓後的目錄
cd "$SERVER_DIR" || { echo "無法切換到目錄 $SERVER_DIR"; exit 1; }

# 重命名解壓後的 JDK 目錄
if [ -d "$JAVA_DIR" ]; then
  echo "重命名 $JAVA_DIR 為 $JAVA_SYMLINK..."
  mv "$JAVA_DIR" "$JAVA_SYMLINK" || { echo "重命名失敗"; exit 1; }
else
  echo "目錄 $JAVA_DIR 不存在,檢查解壓結果。"
  exit 1
fi

# 配置 JDK 環境變數
PROFILE_FILE="/etc/profile"
echo "配置 JDK 環境變數..."
{
  echo "# JDK 環境變數配置"
  echo "export JAVA_HOME=$SERVER_DIR/$JAVA_SYMLINK"
  echo "export PATH=\$PATH:$JAVA_HOME/bin"
  echo "export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar"
} >> "$PROFILE_FILE"

# 重新載入環境變數配置
source "$PROFILE_FILE" || { echo "無法重新載入環境變數配置"; exit 1; }

# 修正 Java 執行文件的許可權
echo "修正 Java 執行文件的許可權..."
chmod -R +x "$SERVER_DIR/$JAVA_SYMLINK/bin/java" || { echo "修正許可權失敗"; exit 1; }

# 驗證 Java 是否安裝成功
echo "驗證 Java 安裝..."
java -version || { echo "Java 安裝失敗"; exit 1; }

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安裝包,然後查看裡面的文件夾名稱

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 徒弟不懂git怎麼用, 於是寫了篇文章, 把本地git操作從頭寫了一遍, 自己去看吧! 0、基本概念 •Git是一個免費、開源的、分散式版本控制系統 •它使用一個特殊的叫做倉庫的資料庫來記錄文件的變化 •倉庫中的每個文件都有一個完整的版本歷史記錄 1)安裝 sudo apt-update sudo ...
  • 想著做個輪腿的機器人玩玩,但是如果光用PID做演算法,對於輪子加腿的結構似乎效果並不好,為了實現輪腿本身能夠飛坡在一定高度下能夠跳躍,我想著上個模擬模型來調試和學習LQR演算法 機器人模擬的軟體似乎挺多,我查到比較常用的有ROS套件的一個,還有就是webots 本著界面簡單,開源(還有校園網方便下載)的 ...
  • 1.在開機過程中,快速按下鍵盤上的方向鍵↑和↓。目的是告知引導程式,我們需要在引導頁面選擇不同的操作,以便讓引導程式暫停。 使用↑和↓將選擇行設置為第一行(背景高亮即為選中),按下鍵盤上的e,進入編輯模式 2.將游標一直移動到 rhgb quiet 後面,將其(rhgb quiet) 替換成 ini ...
  • 下載 nvm 點擊進入 nvm git 倉庫下載 nvm windows 用戶點擊 exe 文件進行下載。 下載完畢之後點擊安裝包進行安裝 檢查是否安裝成功 打開windows 控制欄輸入 nvm -v 檢查是否安裝成功 使用 nvm 下載 node.js 打開控制欄輸入 nvm install l ...
  • 大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家介紹的是恩智浦i.MXRT系列MCU的ROM啟動日誌。 關於 i.MX RT 啟動問題解決的文章,痞子衡寫過非常多,其中大部分都是具體到某一類啟動設備下的具體問題分析,比較依賴經驗,這些經驗當然是非常有用的。此外也有一篇 《啟動失敗先查看SRC ...
  • 1、概述 操作系統一般都是安裝在硬碟內的,硬碟是一種存儲數據的介質,U 盤同樣也是一種存儲數據的介質,因此也可以把操作系統安裝進 U 盤裡。 因為大部分 U 盤的性能比較差,不能流暢地運行完整版的操作系統,所以只能安裝精簡了大部分功能、只保留基本運行環境的簡化版操作系統(即 PE )。 PE 是 W ...
  • 1.基礎工具安裝 ①Ubuntu虛擬機下交叉編譯工具鏈安裝 香橙派5Pro為Arm64位架構,因此需要安裝g++-aarch64-linux-gnu以及gcc-aarch64-linux-gnu(有其它交叉編譯器,本文以此編譯器為例) 更新軟體源 sudo apt update sudo apt u ...
  • -- 痞子衡維護的 NXP-MCUBootUtility 工具距離上一個大版本(v5.3.0)發佈過去一年了,期間痞子衡也做過三個版本更新,但不足以單獨介紹。這一次痞子衡為大家帶來了全新重要版本v6.3.x,這次更新主要是想和大家特別聊聊 ROM 啟動日誌這個特性的支持。 一、v6.0 - v6.3 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...