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

    使我们的配置立刻生效,无需重启(重新连接)。
  • 相关阅读:
    3D 服务器端以向量计算为主的角色位置的算法
    宇宙中可见物质为 4%,暗物质和暗能量占 96% 是怎么算出来的?
    量子纠缠
    “人的第一感觉(直觉)其实非常准”
    有哪些看似荒谬,其实很科学的理论@知乎、@量子力学
    CPU/寄存器/内存
    原子操作
    简单的介绍下WPF中的MVVM框架
    IOS开发中,TextField和TextView有何区别
    年后小结
  • 原文地址:https://www.cnblogs.com/phdeblog/p/13920179.html
Copyright © 2011-2022 走看看