zoukankan      html  css  js  c++  java
  • 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

    使我们的配置立刻生效,无需重启(重新连接)。
  • 相关阅读:
    Linux中连接mysql执行sql文件
    各种编码转化
    PHP 创建缩略图
    erlang入门之编译和运行
    mac下的virtualbox启动失败处理
    golang回调函数的例子
    cocos2d-x的popScene的动画效果
    ssdb的golang驱动的同步问题
    贴一段demo代码,演示channel之间的同步
    golang的指针到string,string到指针的转换
  • 原文地址:https://www.cnblogs.com/phdeblog/p/13920179.html
Copyright © 2011-2022 走看看