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
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...