千家信息网

如何配置Shell脚本实现在Linux系统中自动安装JDK

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"如何配置Shell脚本实现在Linux系统中自动安装JDK",在日常操作中,相信很多人在如何配置Shell脚本实现在Linux系统中自动安装JDK问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2025年01月20日如何配置Shell脚本实现在Linux系统中自动安装JDK

这篇文章主要介绍"如何配置Shell脚本实现在Linux系统中自动安装JDK",在日常操作中,相信很多人在如何配置Shell脚本实现在Linux系统中自动安装JDK问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何配置Shell脚本实现在Linux系统中自动安装JDK"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

A:本脚本运行的机器,Linux
B:待安装JDK的机器, Linux

首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本:

代码如下:

$ ./install-jdk.sh B的IP

or:

代码如下:

$ ./install-jdk.sh "B的IP" "JDK的URI"

就可以在机器B上安装JDK。jdk使用的tar包需要用户自己设定DEFAULT_JDK_SRC=?,保证可以wget得到即可。下面是全部脚本内容:

代码如下:

#!/bin/bash
#
# @file
# install-jdk.sh
#
# @date
# 2013-12-19
#
# @author
# cheungmine
#
# @version
# 0.0.1pre
#
# @usage:
# ./install-jdk.sh 192.168.122.206
#
################################################################################
. common.sh

#***********************************************************
# install_jdk
# install jdk on machine: /usr/local/lib
#
# Parameters:
# machine - root@ipaddr
# jdkUri - uri for fetching tarball
#
# Example:
#
# install_jdk root@192.168.122.206 ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz
#
#***********************************************************
. common.sh

# YOU MIGHT CHANGE BELOW LINE TO GET YOUR JDK TARBALL:
DEFAULT_JDK_SRC="ftp://vm-ftp/pub/tarball/jdk-7u67-linux-x64.tar.gz"

# DO NOT CHANGE BELOW TWO LINES:
INSTALL_DIR="/usr/local/lib/java"
LOCAL_DIR="./.tmp"

function install_jdk() {
echo -e " install jdk on machine: $1"

local DEST_LOGIN=$1
local JDK_URI=$2
local TAR=$(basename $JDK_URI)

echo -e " jdk: '$JDK_URI'"

wget -c $JDK_URI -P $LOCAL_DIR -O $LOCAL_DIR/$TAR

$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?

case $ret in
$DIR_NOT_EXISTED)
mkdir -p $LOCAL_DIR/jdk_untar
;;
$DIR_IS_EMPTY)
;;
$DIR_NOT_EMPTY)
rm -rf $LOCAL_DIR/jdk_untar/*
;;
*)
exit $ERR_FATAL_ERROR
;;
esac

# untar to jdk_untar
tar -zxf $LOCAL_DIR/$TAR -C $LOCAL_DIR/jdk_untar

$(is_empty_dir "$LOCAL_DIR/jdk_untar")
local ret=$?

if [ "$ret" -eq "$DIR_NOT_EMPTY" ]; then
local jdk_home=`ls $LOCAL_DIR/jdk_untar 2>/dev/null`
echo $jdk_home
else
exit $ERR_FATAL_ERROR
fi

echo -e " create folder on: $DEST_LOGIN:$INSTALL_DIR"
local ret=`ssh $DEST_LOGIN "mkdir $INSTALL_DIR"`

echo -e " copy $jdk_home/ to: $DEST_LOGIN:$INSTALL_DIR/"
local ret=`scp -r $LOCAL_DIR/jdk_untar/$jdk_home $DEST_LOGIN:$INSTALL_DIR`

# remove local tar
rm -rf $LOCAL_DIR/jdk_untar

local DEST_JAVA_HOME=$INSTALL_DIR/$jdk_home

echo -e " remove old settings for install_jdk in /etc/profile"

echo -e " set /etc/profile: JAVA_HOME=$DEST_JAVA_HOME"
local ret=`ssh $DEST_LOGIN "echo '' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo '#!{{install_jdk@hgdb.net==>' >> /etc/profile"`

local ret=`ssh $DEST_LOGIN "echo 'export JAVA_HOME=$DEST_JAVA_HOME' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo 'export CLASSPATH=.:\\$JAVA_HOME/lib/tools.jar:\\$JAVA_HOME/lib/dt.jar' >> /etc/profile"`
local ret=`ssh $DEST_LOGIN "echo 'export PATH=\\$JAVA_HOME/bin:\\$JAVA_HOME/jre/bin:\\$PATH' >> /etc/profile"`

local ret=`ssh $DEST_LOGIN "echo '#!<==install_jdk@hgdb.net}}'>> /etc/profile"`

local ret=`ssh $DEST_LOGIN ". /etc/profile"`
}


function uninstall_jdk() {
echo -e " uninstall jdk from: $1"
}

#=======================================================================
# ---- main() ----
if [ -n $1 ]; then
DEST_IP=$1
JDK_SRC=$DEFAULT_JDK_SRC

if [ $# == 2 ]; then
JDK_SRC=$2
fi

echo -e " install jdk on '$DEST_IP', jdk: '$JDK_SRC'"

install_jdk "root@$DEST_IP" "$JDK_SRC"
fi

到此,关于"如何配置Shell脚本实现在Linux系统中自动安装JDK"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

脚本 机器 系统 配置 学习 代码 运行 更多 帮助 实用 接下来 内容 密码 文章 方法 理论 用户 知识 篇文章 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京哪家服务器托管好 服务器开启压缩 李沧区苹果软件开发 军用网络安全龙头股 网络安全内外网隐患意识形态 计算机网络技术应用教学案例 数据库在此次疫情中的作用 扫黄打非办网络安全课堂系列 网络安全节点认证 数据库主主复制环境 绝地求生各服务器特点 江苏环保网络技术市场 天津潮流软件开发品质保障 民权县哪里做核酸能连接数据库 南京学习软件开发怎样收费 数据库创建格式UTF8 服务器运维和软件运维区别 魔兽怀旧服不同服务器的插件 网络安全和信息化工作讨论 方舟海贼王mod服务器怎么添加 辽事通软件开发需要多少钱 海康平台服务器组网 内江软件开发哪家不错 云计算中心网络安全 杭州小程序软件开发公司有哪些 如何看待服务器崩了 汕头市国家网络安全宣传周 网络安全手抄报黑白的 上海net软件开发哪家便宜 企业联网直报网络安全
0