1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

シェルスクリプトで jdk を自動インストールする例

2022-02-07 13:01:21

1. インストールの準備

1. jdk-8u221-linux-x64.tar.gz jdk アーカイブ (opt ディレクトリにある必要があります)
2.シェルスクリプト

2.シェルコマンド

セドの文字の取り扱いについて
-p 表示:表示するデータの特定の選択部分を表示します。通常、p は引数 sed -n と共に実行されます。
-d delete: 元のファイルのデータを削除せずに、指定した行を削除した後のスキーマスペースの内容を表示します。
-a add, a の後に現在指定されている行の次の行に表示される文字列を指定することができます。
-c change, c の後に n1,n2 の間の行を置き換える文字列を指定することができます。
-i挿入、iの後に現在指定されている行の上の行に表示される文字列を指定することができます。

3.シェルスクリプト

使用する前に、opt ディレクトリに jdk アーカイブを配置する必要があります。

#! /bin/bash

jdkTargz="/opt/jdk-8u221-linux-x64.tar.gz"

# Check if the java environment variables were originally configured
checkExist(){
 jdk1=$(grep -n "export JAVA_HOME=. *" /etc/profile | cut -f1 -d':')
    if [ -n "$jdk1" ];then
        echo "JAVA_HOME is configured, delete the contents"
        sed -i "${jdk1}d" /etc/profile
    fi
 jdk2=$(grep -n "export CLASSPATH=. *\$JAVA_HOME.*" /etc/profile | cut -f1 -d':')
    if [ -n "$jdk2" ];then
        echo "CLASSPATH path configured, delete content"
        sed -i "${jdk2}d" /etc/profile
    fi
 jdk3=$(grep -n "export PATH=. *\$JAVA_HOME.*" /etc/profile | cut -f1 -d':')
    if [ -n "$jdk3" ];then
        echo "PATH-JAVA path configured, delete content"
        sed -i "${jdk3}d" /etc/profile
    fi
}

# Check if jdk.tar.gz is available
if [ -e $jdkTargz ];
then

echo "- - jdk tarball exists - - "
 echo "Unpacking jdk tarball... "
 tar -zxvf /opt/jdk-8u221-linux-x64.tar.gz -C /opt
 if [ -e "/opt/install/java" ];then
 echo "This folder exists, delete... "
 rm -rf /opt/install/java
 fi
 echo "---------------------------------"
 echo "Creating jdk file path... "
 echo "---------------------------------"
 mkdir -p /opt/install/java/
 mv /opt/jdk1.8.0_221 /opt/install/java/java8
 # Check configuration information
 checkExist 
 echo "---------------------------------"
 echo "Configuring jdk environment... "
 sed -i '$a export JAVA_HOME=/opt/install/java/java8' /etc/profile
 sed -i '$a export CLASSPATH=. :$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profile
 sed -i '$a export PATH=$PATH:$JAVA_HOME/bin' /etc/profile
 echo "---------------------------------"
 echo "JAVA environment configuration is complete... "
 echo "---------------------------------"
  echo "Reloading profile... "
  echo "---------------------------------"
  source /etc/profile
  echo "The configuration version information is as follows: "
  java -version
else
 echo "No installation package detected, please put the installation package into the /opt directory"
fi

この記事は、シェルスクリプトが自動的にjdkをインストールするために導入され、より関連するシェルが自動的にjdkのコンテンツをインストールしてくださいスクリプトハウスの以前の記事を検索したり、次の関連記事を閲覧し続けることは、将来的に多くのスクリプトハウスをサポートすることを願っています