centos789手動無腦用sh指令碼安裝Java8

张小张#發表於2024-09-19

#老師給的檔案是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

centos789手動無腦用sh指令碼安裝Java8

如果你要安裝其他的Java版本,比如openjdk-8u44-linux-x64.tar.gz,那你可以將下面兩個引數變一下。如圖:

JAVA_TAR="openjdk-8u44-linux-x64.tar.gz"
JAVA_DIR="java-se-8u44-ri"

如何設定引數:在你自己的Windows電腦雙擊你下載好的jdk安裝包,然後檢視裡面的資料夾名稱

centos789手動無腦用sh指令碼安裝Java8

相關文章