文档章节

linux下jdk安装shell脚本

王爵nice
 王爵nice
发布于 2015/04/03 17:22
字数 609
阅读 310
收藏 0

ubuntu/centos下安装jdk shell脚本,用root执行。支持32位系统和64位系统,github链接 

#!/bin/bash

# jdk install
# 请将下载的jdk-xxx-linux-xxx.tar.gz包与此脚本放置到同一目录
# 授予此脚本可执行权限(chmod +x install_jdk.sh)
# 在终端执行此脚本开始安装(./文件名)
# 注意:不可有多个版本的jdk包!
#      为了使配置的环境变量生效,安装完成后你应该重新登陆。

echo "Please select you want to install the JDK version?"
select jdk_version in "JDK1.7" "JDK1.8" ; do
  break;
done

jvmpath=/usr/lib/jvm/
# 不存在
if [ ! -d "$jvmpath" ]; then
	echo "正在创建$jvmpath目录"
	sudo mkdir $jvmpath
	echo "目录$jvmpath创建成功"
fi

jdkfile=$(ls | grep jdk-*-linux-*.tar.gz)
jdkdirname=""
if [ "JDK1.7"="$jdk_version" ]; then
	jdkdirname="jdk1.7.0_75"
else
	jdkdirname="jdk1.8.0_20"
fi

os_version=`uname -a`
echo $os_version
architecture="64"
echo "$os_version" | grep -q "$architecture"
if [ $? -eq 0 ]
then
	echo "您正在使用64位操作系统,为您选择64位JDK"
	# 不存在即去外网下载jdk文件
	if [ ! -f "$jdkfile" ]; then
		if [ "JDK1.7"="$jdk_version" ]; then
			wget http://7vil1r.com1.z0.glb.clouddn.com/jdk-7u75-linux-x64.tar.gz
		else
			wget http://7vil1r.com1.z0.glb.clouddn.com/jdk-8u20-linux-x64.gz
		fi
	fi	
	#sudo chown -R jiangxin:jiangxin /usr/lib/jvm/jdk1.7.0_75
else
	echo "您正在使用32位操作系统,为您选择32位JDK和eclipse"
	# 不存在即去外网下载jdk文件
	if [ ! -f "$jdkfile" ]; then
		if [ "JDK1.7"="$jdk_version" ]; then
			wget http://7vil1r.com1.z0.glb.clouddn.com/jdk-7u75-linux-i586.gz
		else
			wget http://7vil1r.com1.z0.glb.clouddn.com/jdk-8u20-linux-i586.gz
		fi
	fi
fi

jdkfile=$(ls | grep jdk-*-linux-*.tar.gz)

if [ -f "$jdkfile" ]; then

	sudo tar -zxvf $jdkfile -C /usr/lib/jvm/

	echo "安装JDK成功"

	echo "配置环境变量"
	# touch environment  
	# echo "PATH=\"$PATH:/usr/lib/jvm/$jdkdirname/bin\"" >> environment
	# echo "JAVA_HOME=/usr/lib/jvm/$jdkdirname" >> environment
	# echo "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> environment
	# sudo mv /etc/environment /etc/environment.backup.java
	# sudo mv environment /etc
	# source /etc/environment

	mv ~/.bashrc ~/.bashrc.backup.java
	cat ~/.bashrc.backup.java >> ~/.bashrc
	echo "PATH=\"$PATH:/usr/lib/jvm/$jdkdirname/bin\"" >> ~/.bashrc
	echo "JAVA_HOME=/usr/lib/jvm/$jdkdirname" >> ~/.bashrc
	echo "CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar" >> ~/.bashrc
	source ~/.bashrc
	echo "配置环境成功"

	# 如果有多个java版本需要进行以下配置(包括openjdk)
	echo "设置默认jdk"
	sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/$jdkdirname/bin/java 300
	sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/$jdkdirname/bin/javac 300
	sudo update-alternatives --config java
	# echo "设置默认jdk成功"

	echo "测试是否安装成功"
	java -version
	echo "安装成功"

fi

卸载脚本

#!/bin/bash

echo "正在删除相关文件"
sudo rm -rf /usr/lib/jvm/
wait
echo "删除相关文件成功"

echo "恢复配置文件"
# sudo rm -f /etc/environment
# sudo mv /etc/environment.backup.java /etc/environment
sudo rm /usr/bin/java /usr/bin/javac
sudo rm /etc/alternatives/java /etc/alternatives/javac
mv ~/.bashrc.backup.java ~/.bashrc
echo "恢复配置文件成功"


© 著作权归作者所有

王爵nice

王爵nice

粉丝 284
博文 72
码字总数 72355
作品 5
浦东
程序员
私信 提问
OneinStack 1.4 发布,一键 PHP/JAVA 安装工具

OneinStack 1.4 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用...

lj2007331
2016/07/12
3.3K
21
为eclipse安装python、shell开发环境和SVN插件

eclipse是一个非常好用的IDE,通常来说我们都用eclipse来开发JAVA程序,为了让开发python、shell等脚本也能在eclipse上运行,出现了很多相关的插件: python:pydev shell:shelled svn:Sub...

小萝卜_
2016/05/16
0
2
OneinStack 1.2 发布,一键 PHP/JAVA 安装工具

这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用于CentOS 5~7(包括redhat)、Deb...

lj2007331
2016/03/03
2.7K
10
OneinStack 1.3 发布,一键 PHP/JAVA 安装工具

OneinStack 1.3 发布了,这个脚本是使用 shell编写,为了快速在生产环境上部署lnmp/lamp/lnmpa/lnmt(Linux、Nginx/Tengine/OpenResty、 MySQL/MariaDB/Percona、PHP、Apache、Tomcat),适用...

lj2007331
2016/04/29
2K
11
linux - shell脚本快速安装配置jdk

  前言   在Linux安装jdk是很简单的事情,那就让shell脚本去做吧!      安装   到oracle官网的归档网址下载需要的jdk压缩包,并放到脚本所在的目录,然后cd到脚本目录执行就可以,...

linux运维菜
2018/09/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins基础入门-5-用户和权限管理

本篇,我们来介绍下Jenkins上如何创建用户,以及如何管理用户,和那些用户可以有ProjectA的权限。这个很好理解,一个项目,有开发和测试,和运维,每个团队都有不同的角色,例如有测试经理和...

shzwork
20分钟前
1
0
linux上解压版安装jdk,tomcat

需要的安装包 1.vmware12 2.centos7版本 3.安装完成后需要xshell来连接远程虚拟机,虚拟机保证要联网,网络畅通。 4.xftp用来向linux传输文件用,一般来说xshell和xftp配套使用 5.对应的压缩...

architect刘源源
56分钟前
26
0
使用 spring 的 IOC 解决程序耦合

工厂模式解耦 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时...

骚年锦时
今天
2
0
group by分组后获得每组中时间最大的那条记录

用途: GROUP BY 语句用于 对一个或多个列对结果集进行分组。 例子: 原表: 现在,我们希望根据USER_ID 字段进行分组,那么,可使用 GROUP BY 语句。 我们使用下列 SQL 语句: SELECT ID,US...

豆花饭烧土豆
今天
3
0
android6.0源码分析之Camera API2.0下的Preview(预览)流程分析

本文将基于android6.0的源码,对Camera API2.0下Camera的preview的流程进行分析。在文章android6.0源码分析之Camera API2.0下的初始化流程分析中,已经对Camera2内置应用的Open即初始化流程进...

天王盖地虎626
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部