使用shell脚本在Linux虚拟机上安装jdk环境

准备

下载jdk-8u171-linux-x64.tar.gz

shell代码

echo "INFO : BEGIN INSTALLING JDK..."
#1、压缩包(存在)
pack=$1

if [[ ! "$pack" =~ ^.*jdk.*\.(tar\.gz|tgz)$ ]];then
        echo "ERROR : ONLY SUPPORT tar.gz OR tgz COMPASS FORMAT"
        exit 1
fi

#2、目标目录不存在/opt/software则创建,存在则删除子目录
        dest=${2%/}
        old=$(ls $dest|grep ^jdk)
        if [ $? -eq 0 ];then
        rm -rf $dest/$old
                echo "INFO : OLD JDK EDITION FOUND BUT REMOVED"
        fi

        if [ ! -e $dest ];then
        mkdir -p $dest
        echo "INFO : DEST DIR NOT EXIST BUT CREATED"
        fi

        if [ ! -d $dest ];then
        echo "ERROR : DEST FOR ARG 2 MUST BE A DIRECTORY"
        exit 2
        fi


#3、解压

tar -zxf $pack -C $dest
if [ $? -eq 0 ];then
        echo  -n " INFO : SUCCESS "
else
        echo -n "ERROR : FAIL "
        exit 3
fi
        echo " TO DECOMPRESS $pack TO $dest"

#4、 环境变量

env=/etc/profile.d/myenv.sh

if [ ! -e $env ];then
        touch $env
        echo "INFO : ENV FILE NOT EXIST BUT TOUCHED"
fi

old=$(cat /etc/profile.d/myenv.sh|awk 'BEGIN{b=0; e=0; ln=0;}{ln++; if(b>0 && match($0,/^#.*/)) e=ln; if(match($0,/^#.*jdk/)) b=ln}END{if(b>0 && e==0) e=ln; print b","e}')
if [ "$old" != "0,0" ]; then
        sed -i "${old}d" $env
        echo "INFO :ENV VARIABLES FOR JDK FOUND REMOVED"
fi

old=$(ls $dest|grep ^jdk)
dest="$dest/$old"
cat >> $env <<EOF
# jdk 1.8
export JAVA_HOME=$dest
export PATH=\$PATH:\$JAVA_HOME/bin
export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
EOF
echo "INFO : ENV VARIABLES APPEND TO $env"

#激活环境变量

source /etc/profile
if [ $? -eq 0 ];then
        echo "INFO : SUCCESS TO ACTIVATE ENV VARIABLES FOR JDK"
else
        echo "ERROR : FAIL TO ACTIVATE ENV VARIBLES FOR JDK"
fi

echo "INFO : FINISH INSTALLING JDK"

最后提供所需tgz文件,运行shell脚本即可完成jdk的安装配置

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值