`
futeng
  • 浏览: 260631 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Shell脚本 一键安装JDK

阅读更多

背景

最近面对十几台“嗷嗷待配”JDK环境的机器,实在不想一个个配。
生命如此美好,怎能浪费在无聊的重复劳动上,遂编写了个一键安装JDK的Shell脚本。
脚本很简单,而且对于简单的环境配置也很实用。
完整的代码贴在下面,希望也能帮助大家减轻工作量。

单步安装,移步这里

需求

  1. 能自动检测可能默认安装的openJDK,并能删除之。
  2. 能自动配置JDK在 /etc/profile的环境。
  3. 可携带参数,参数为普通用户名,可将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 多余的配置

4
3
分享到:
评论
4 楼 futeng 2014-05-10  
fangbz 写道
不错,收藏啦!!

3 楼 jahu 2014-05-09  
shell,能带上注解吗?。。。不会shell,表示看不懂啊,
2 楼 alvin198761 2014-05-09  
官网就有啊,何必这么复杂
1 楼 fangbz 2014-05-09  
不错,收藏啦!!

相关推荐

Global site tag (gtag.js) - Google Analytics