Shell——Linux下用shell脚本配置java环境变量

概述

虽然配环境变量很简单,没有必要写脚本,但是可以通过编写一些简单的小脚本来熟悉shell的语法。

功能描述

写一个脚本,指定解压后的jdk路径(需要做简单的输入判断),可以自动配置环境变量。

代码

#! /bin/bash
#功能: 配置Java环境变量
#用法: sh 文件名 jdk文件路径
filename=$1
if [ -z "$filename" ]; then
        echo '尚未指定jdk路径!'
        exit
elif (test ! -e ${filename})  then
        echo '指定文件不存在,请检查后再试!'
        exit
elif [ ${filename:0-6} == 'tar.gz' ]; then
        echo '文件未解压,请先解压......'
        exit
elif [ ${filename:0:1} != '/' ]; then
        echo '请输入绝对路径'
        exit
else
        echo "export JAVA_HOME=${filename}" >> /etc/profile
        echo "export PATH=\${JAVA_HOME}/bin:$PATH">> /etc/profile
        echo "export CLASSPATH=.:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar">> /etc/profile
        source /etc/profile
        java -version
        echo '环境变量配置成功......'
fi

分析

  • if then

从流程上来看,用了shell的条件判断式,if then。

  • 条件判断

用到了中括号和test命,两者功能相似。注意,这里的中括号和正则表达式中的中括号不一样,

if [ -z "$filename" ]; then

-z表示判断输入的文件是否为空。中括号和里面的内容之间需要有空格。

test比较常用,可加的参数有很多,列举常见的三个参数。

#判断文件名是否存在
test -e 文件名

#判断文件名是否存在且为文件
test -f 文件名

#判断文件名是否存在且为目录
test -d 文件名

/etc/profile

将所有的配置,加到(>>)/etc/profile后面是为了使我们的更改对所有的连接有效。

如果你只需要临时生效(推出当前连接后即刻失效),只需要在当前的终端里执行:

export JAVA_HOME=文件路径
export PATH=\${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar

source /etc/profile

使我们的配置立刻生效,无需重启(重新连接)。

 

posted @ 2020-11-03 14:42  小楼夜听雨QAQ  阅读(4211)  评论(1编辑  收藏  举报