背景
最近面对十几台“嗷嗷待配”JDK环境的机器,实在不想一个个配。
生命如此美好,怎能浪费在无聊的重复劳动上,遂编写了个一键安装JDK的Shell脚本。
脚本很简单,而且对于简单的环境配置也很实用。
完整的代码贴在下面,希望也能帮助大家减轻工作量。
单步安装,移步这里
需求
- 能自动检测可能默认安装的openJDK,并能删除之。
- 能自动配置JDK在 /etc/profile的环境。
- 可携带参数,参数为普通用户名,可将JDK相关配置进普通用户的 .bash_profile环境。
一键安装脚本
脚本即安装文件已经备份到云端,请戳
installJDK.sh
#!/bin/bash # shell script to install jdk (default version jdk-6u45-linux-x64.bin) # example : ./installJDK.sh or ./installJDK.sh newLinuxUsername # version 1.0 # created by ifuteng@gmail.com 2014/5/7 # 1. remove openjdk if exists. for i in $(rpm -qa | grep jdk | grep -v grep) do echo "Deleting rpm -> "$i rpm -e --nodeps $i done if [[ ! -z $(rpm -qa | grep jdk | grep -v grep) ]]; then echo "-->Failed to remove the defult Jdk." else # 2.unzip and install JDK(jdk-6u45-linux-x64.bin) chmod u+x ./jdk-6u45-linux-x64.bin ./jdk-6u45-linux-x64.bin mkdir /usr/java mv ./jdk1.6.0_45 /usr/java/jdk1.6.0_45 rm -rf ./jdk1.6.0_45 # 3. config /etc/profile cp /etc/profile /etc/profile.beforeAddJDKenv.20140507.bak echo "JAVA_HOME=/usr/java/jdk1.6.0_45" >> /etc/profile echo "CLASSPATH=.:$JAVA_HOME/lib.tools.jar" >> /etc/profile echo "PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile echo "export JAVA_HOME CLASSPATH PATH" >> /etc/profileo #echo "-->JDK environment has been successed set in /etc/profile." # 4. config user's .bash_profile if [[ -z "$1" ]] ; then #echo "-->Config .bash_profile for JDK environment from $1" username=$1 user_bash_file=/home/$username/.bash_profile #cp $user_bash_file user_bash_file.beforeAddJDKenv.20140507.bak cp /home/$username/.bash_profile /home/$username/.bash_profile.beforeAddJDKenv.20140507.bak echo "export JAVA_HOME=/usr/share/jdk1.6.0_20" >> $user_bash_file echo "export PATH=$JAVA_HOME/bin:$PATH" >> $user_bash_file echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> $user_bash_file fi # 5. Test JDK evironment if [[ ! -z $(ls /user/java/jdk1.6.0_45) ]]; then echo "-->Failed to install JDK (jdk-6u45-linux-x64 : /usr/java/jdk1.6.0_45)" else echo "-->JDK has been successed installed." echo "java -version" java -version echo "javac -version" javac -version echo "ls \$JAVA_HOME"$JAVA_HOME ls $JAVA_HOME fi fi
使用脚本
因为只求简单的实现,所以并为花时间考虑潜在的各种异常。
默认使用jdk-6u45-linux-x64.bin(当然替换也异常方便),注意脚本和安装文件需要放在同个目录下。
将脚本粘贴到任意文本工具,选择jdk-6u45-linux-x64.bin,全部替换为你的JDK版本即可。
使用示例
# 不带参数 ./installJDK.sh # 参数为普通用户名 ./installJDK.sh newLinuxUsername
2014/08/12 删除 /etc/profile 多余的配置
相关推荐
通过shell脚本一键实现jdk8的安装和环境变量配置工作。
shell脚本:一键部署jdk(带详细注释)
shell自动化一键安装JDK脚本
linux一键安装jdk 1.8 并且 配置环境变量 shell 脚本
该安装包实现利用给定参数安装单机版或者集群版es数据库,指定参数后安装过程全自动,自动修改系统内核,配置jdk,自动识别并配置内存,自动根据节点数配置集群脑溢节点配置数。涉及到以下操作 1、自动检测配置java...
1、脚本支持安装jdk 2、脚本支持卸载jdk 3、脚本编写模块化,便于后期加工 4、脚本对jdk安装过程中出现的多种问题都有相关考虑
JDK Linux一键安装脚本 Linux服务器,作者使用centos7操作系统,支持裸机安装JDK或者没有安装过JDK的用户安装JDK。 运行说明 1. 拥有**root**用户使用权 2. 将安装脚本和JDK安装包(tar.gz包)拷贝至服务器上。 3. ...
附操作使用文档和3个脚本文件,可以快速一键使用linux命令部署java环境和所需工具方便快捷.jdk1.8.0_201+tomcat9.0.16+mysql
自己写的centos7上jdk1.8的部署脚本,正在学习shell脚本,写的比较简便。因为要加入环境变量,所以运行脚本需要使用source命令。
本资源为Linux系统的jdk自动安装脚本,jdk一键安装的shell脚本,运行脚本即可快速安装jdk,使用方法: 1.保证自己的服务器上有jdk安装包,该脚本中默认的jdk版本为jdk-8u221-linux-x64.tar.gz,你可以将其替换为自己...
利用shell脚本一键自动化配置Linux基础环境(包括主机名的修改,配置静态ip地址,修改yum源为华为源,永久关闭Linux的防火墙,安装一些必要基础的工具),安装jdk1.8,配置java环境变量,安装tomcat8,访问html,...
linux中脚本一键添加jdk,解压后执行install.sh即可
1 多次尝试可用 2 不断改进代码,保证高效,易懂 3 附带说明,安装包及shell脚本全套,让您物超所值 4 如您满意请给个好评,如有疑问请留言 5 谢谢您的支持
该资源是用来一键安装jdk8使用,格式为shell脚本,请配合我的博客中安装tomcat译文进行使用,如有疑问,可私下进行讨论和交流,谢谢支持
安装JDK 查看电脑的操作位数: uname -ar 2017 x86_64 x86_64 x86_64 GNU/Linux 如果这里显示是64位的就下载相应64位的包 jdk的下载地址,推荐下载tar.gz的包 www.oracle.com/technetwork… 下面开始正式的安装jdk...
适用于 Centos 7 jdk安装 ,亲测可用!一键安装shell脚本早此链接https://blog.csdn.net/souga000/article/details/108366995
jdk-8u333-linux-x64.tar.gz shell脚本一键安装 https://blog.csdn.net/mr_wanter/article/details/120898849?spm=1001.2014.3001.5501
openSUSE-One-Click-InstalleropenSUSE一键安装脚本,由 Bruce Auyeung ( bruce.auyeung#yahoo.com ) 编写,已在 openSUSE 13.1 , openSUSE 13.2 完成测试。欢迎访问我的博客 。在全新安装openSUSE之后,该脚本帮助...
jdk 一键安装及环境变量配置脚本内置 jdk8 ,可以替换自己的版本
为了执行UniversalFileDownloader(UFD),您需要安装JDK 8 。 架构概述 universalFileDownloader具有3个工件: api 它负责下载文件并将其保存到磁盘。 也可以在此工件中添加新协议。 core 它负责业务逻辑和线程 ...