返回顶部
首页 > 资讯 > 操作系统 >Shell脚本实现在Linux系统中自动安装JDK
  • 395
分享到

Shell脚本实现在Linux系统中自动安装JDK

脚本系统Shell 2022-06-04 21:06:53 395人浏览 独家记忆
摘要

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

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 "<INFO> install jdk on machine: $1"  

  

    local DEST_LOGIN=$1  

    local JDK_URI=$2  

    local TAR=$(basename $JDK_URI)  

  

    echo -e "<INFO> 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 "<INFO> create folder on: $DEST_LOGIN:$INSTALL_DIR"  

    local ret=`ssh $DEST_LOGIN "mkdir $INSTALL_DIR"`  

  

    echo -e "<INFO> 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 "<TODO> remove old settings for install_jdk in /etc/profile"  

  

    echo -e "<INFO> 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 "<TODO> 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 "<INFO> install jdk on '$DEST_IP', jdk: '$JDK_SRC'"  

  

    install_jdk "root@$DEST_IP" "$JDK_SRC"  

fi

--结束END--

本文标题: Shell脚本实现在Linux系统中自动安装JDK

本文链接: https://lsjlt.com/news/18346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Shell脚本实现在Linux系统中自动安装JDK
    A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: $ ./install-jd...
    99+
    2022-06-04
    脚本 系统 Shell
  • 如何配置Shell脚本实现在Linux系统中自动安装JDK
    这篇文章主要介绍“如何配置Shell脚本实现在Linux系统中自动安装JDK”,在日常操作中,相信很多人在如何配置Shell脚本实现在Linux系统中自动安装JDK问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-09
  • shell脚本如何自动安装jdk
    这篇文章主要介绍shell脚本如何自动安装jdk,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.安装准备jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下)2.shell脚本2...
    99+
    2023-06-09
  • Shell脚本实现自动安装zookeeper
    A:本脚本运行的机器,Linux RHEL6 B,C,D,...:待安装zookeeper cluster的机器, Linux RHEL6 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装zk的机器...
    99+
    2022-06-04
    脚本 Shell zookeeper
  • shell脚本自动安装jdk的方法示例
    1.安装准备 1.jdk-8u221-linux-x64.tar.gz jdk压缩包(需要放在opt目录下) 2.shell脚本 2.shell命令 Sed 对字符的处理 -p  显示,将某个选择的数据打印显示。通常...
    99+
    2022-06-04
    shell自动安装jdk shell安装jdk
  • mysql中如何实现自动化脚本安装的shell脚本
    这篇文章将为大家详细讲解有关mysql中如何实现自动化脚本安装的shell脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。脚本处理逻辑流程图    ...
    99+
    2024-04-02
  • shell怎么实现自动安装python3的脚本
    这篇文章给大家分享的是有关shell怎么实现自动安装python3的脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。root用户权限# vim install_python3.sh1#!/b...
    99+
    2023-06-09
  • Shell脚本中怎么自动安装zookeeper
    这篇文章将为大家详细讲解有关Shell脚本中怎么自动安装zookeeper,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。A:本脚本运行的机器,Linux RHEL6B,C,D,...:待安装...
    99+
    2023-06-09
  • linux下实现ftp自动备份shell脚本
    利用here文档 #!/bin/sh ftp -ivn 210.29.28.124 <<EOF user yun yun2011 lcd /home/veyun cd /home/veyun/...
    99+
    2022-06-04
    脚本 自动备份 linux
  • 自动化安装Mysql5.6-脚本实现
    Mysql5.6新特性: 1.优化器的改进:主要体现在索引条件pushdown以及多范围的读取数据,可降低过载。2,InnoDB的改进:MySQL InnoDB 存储引擎团队主要提供了 NoSQL 的访问接...
    99+
    2024-04-02
  • shell自动安装python3的脚本写法
    root用户权限 # vim install_python3.sh 1 #!/bin/sh yum -y install zlib-devel bzip2-devel openssl-devel ncurses-de...
    99+
    2022-06-04
    shell 安装python3 shell 安装python3 pip
  • JDK Tomcat MySQL怎么在Linux系统中安装
    JDK Tomcat MySQL怎么在Linux系统中安装?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是Linux系统L...
    99+
    2024-04-02
  • 如何在 linux系统中安装jdk命令
    这篇文章将为大家详细讲解有关如何在 linux系统中安装jdk命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是...
    99+
    2023-06-14
  • 如何实现vtune自动安装脚本
    本篇内容介绍了“如何实现vtune自动安装脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/bash#!/usr/b...
    99+
    2023-06-09
  • 基于cobbler 实现自动安装linux系统
    1.安装个组件 yum install epel-rpm-macros.noarch -y #安装epel源 yum install -y cobbler cobbler-web dhcp tftp-server p...
    99+
    2022-06-04
    cobbler 安装linux linux系统安装
  • Linux系统中如何安装JDK
    这篇文章主要为大家展示了Linux系统中如何安装JDK,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“Linux系统中如何安装JDK”这篇文章吧。 JDK这是Java Development Kit...
    99+
    2023-06-28
  • linux系统中如何安全使用shell脚本
    本篇文章为大家展示了linux系统中如何安全使用shell脚本,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到linu...
    99+
    2023-06-13
  • 怎么在Linux中使用shell脚本自动执行脚本文件
    本篇文章为大家展示了怎么在Linux中使用shell脚本自动执行脚本文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、定时复制文件  a、在/usr/local/wfjb_web_back目录下...
    99+
    2023-06-09
  • GO语言在Linux系统中如何实现Shell脚本的同步?
    随着互联网的快速发展,我们越来越需要快速、高效地处理数据。Shell脚本作为一种常见的自动化脚本语言,被广泛应用于Linux系统中。然而,Shell脚本在处理大量数据时,容易出现性能瓶颈。为了解决这个问题,我们可以考虑使用GO语言来实现S...
    99+
    2023-10-26
    同步 shell linux
  • Linux下实现SNMP一键安装的Shell脚本
    Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。SNMP 很多都用其安装之后,作为监控宝和阿里云的系统信息监控使用。下面就来分享linux下实现SNMP一键安装的shell脚...
    99+
    2022-06-04
    一键 脚本 Linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作