linux下jdk安装shell脚本

简介:

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 "恢复配置文件成功"

目录
相关文章
|
1月前
|
Java
安装JDK18没有JRE环境的解决办法
安装JDK18没有JRE环境的解决办法
191 3
|
1月前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
134 6
|
8天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
14 1
|
1月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
1月前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
87 2
|
15天前
|
存储 Shell Linux
【Linux】shell基础,shell脚本
Shell脚本是Linux系统管理和自动化任务的重要工具,掌握其基础及进阶用法能显著提升工作效率。从简单的命令序列到复杂的逻辑控制和功能封装,Shell脚本展现了强大的灵活性和实用性。不断实践和探索,将使您更加熟练地运用Shell脚本解决各种实际问题
12 0
|
18天前
|
Oracle Java 关系型数据库
jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?
本文提供了详细的JDK 17安装教程,包括下载、安装、配置环境变量的步骤,并解释了在已有其他版本JDK的情况下如何管理多个JDK环境。
54 0
|
1月前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
1月前
|
Oracle Java iOS开发
JDK的选型、安装与配置
JDK的选型、安装与配置
|
1月前
|
Oracle Java iOS开发
JDK的选型、安装与配置
JDK的选型、安装与配置
112 1