shell腳本自動(dòng)安裝jdk的方法示例
1.安裝準(zhǔn)備
1.jdk-8u221-linux-x64.tar.gz jdk壓縮包(需要放在opt目錄下)
2.shell腳本
2.shell命令
Sed 對(duì)字符的處理
-p 顯示,將某個(gè)選擇的數(shù)據(jù)打印顯示。通常 p 會(huì)與參數(shù) sed -n 一起執(zhí)行
-d 刪除,顯示模式空間刪除指定行后的內(nèi)容,不會(huì)對(duì)原文件數(shù)據(jù)刪除
-a 添加,a 的后面可以接字符串,該字符串會(huì)在當(dāng)前指定行的下一行出現(xiàn)
-c 更改, c 的后面可以接字符串,該字符串可以取代 n1,n2 之間的行
-i 插入, i 的后面可以接字符串,該字符串會(huì)在當(dāng)前指定行的上一行出現(xiàn)
3.shell腳本
使用前需將jdk壓縮包放到opt目錄下
#!/bin/bash
jdkTargz="/opt/jdk-8u221-linux-x64.tar.gz"
# 檢查原先是否已配置java環(huán)境變量
checkExist(){
jdk1=$(grep -n "export JAVA_HOME=.*" /etc/profile | cut -f1 -d':')
if [ -n "$jdk1" ];then
echo "JAVA_HOME已配置,刪除內(nèi)容"
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路徑已配置,刪除內(nèi)容"
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路徑已配置,刪除內(nèi)容"
sed -i "${jdk3}d" /etc/profile
fi
}
# 查詢(xún)是否有jdk.tar.gz
if [ -e $jdkTargz ];
then
echo "— — 存在jdk壓縮包 — —"
echo "正在解壓jdk壓縮包..."
tar -zxvf /opt/jdk-8u221-linux-x64.tar.gz -C /opt
if [ -e "/opt/install/java" ];then
echo "存在該文件夾,刪除..."
rm -rf /opt/install/java
fi
echo "---------------------------------"
echo "正在建立jdk文件路徑..."
echo "---------------------------------"
mkdir -p /opt/install/java/
mv /opt/jdk1.8.0_221 /opt/install/java/java8
# 檢查配置信息
checkExist
echo "---------------------------------"
echo "正在配置jdk環(huán)境..."
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環(huán)境配置已完成..."
echo "---------------------------------"
echo "正在重新加載配置文件..."
echo "---------------------------------"
source /etc/profile
echo "配置版本信息如下:"
java -version
else
echo "未檢測(cè)到安裝包,請(qǐng)將安裝包放到/opt目錄下"
fi
到此這篇關(guān)于shell腳本自動(dòng)安裝jdk的方法示例的文章就介紹到這了,更多相關(guān)shell自動(dòng)安裝jdk內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一天一個(gè)shell命令 linux文本內(nèi)容操作系列-awk命令詳解
awk是一個(gè)強(qiáng)大的文本分析工具,相對(duì)于grep的查找,sed的編輯,awk在其對(duì)數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。簡(jiǎn)單來(lái)說(shuō)awk就是把文件逐行的讀入,以空格為默認(rèn)分隔符將每行切片,切開(kāi)的部分再進(jìn)行各種分析處理2016-06-06
shell周期差量備份文件夾的實(shí)現(xiàn)代碼
這篇文章主要介紹了shell周期差量備份文件夾的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
shell腳本編程之for語(yǔ)句、if語(yǔ)句使用介紹
這篇文章主要是介紹了shell腳本編程之for語(yǔ)句、if語(yǔ)句的使用方法,學(xué)習(xí)shell編程的朋友可以看下2013-09-09

