06-shell编程细节记录

前端之家收集整理的这篇文章主要介绍了06-shell编程细节记录前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 获取当前shell所在目录:BASE_PATH=$(cd dirname $0;pwd)
  2. /etc/profile配置的是所有的用户 ~/.bashrc配置的是当前的用户
  3. $PATH表示引用已经定义好的变量
  4. 单引号双引号和“的区别
    • 单引号表示原文输出
    • 双引号表示如果有变量引用会取出变量中的值
    • 表示先执行其中的代码,然后将结果传给下个命令,相当于管道命令
  5. {}对一串命令在当前shell执行,比如在shell中进行配置JDK环境变量的时候${JAVA_HOME}
  6. grep -q hell a.txt表示如果在a.txt中找到hello,就返回状态值0,一般用在if的判断上
#!/bin/bash 
#动态设置JDK的环境变量,修改JAVA_HOME即可。

#获取当前文件夹目录
BASE_PATH=$(cd `dirname $0`;pwd)

#输出变量
JAVA_HOME="$BASE_PATH/jdk1.7.0_71.jdk/Contents/Home"
#JAVA_HOME="$BASE_PATH/jdk1.8.0_131.jdk/Contents/Home"


#查看是否已经配置了jdk的环境变量
grep -q "export JAVA_HOME"  /etc/profile

#如果上一行的命令返回结果不等于0
if [ $? -ne 0 ]; then
    echo "java环境变量没有配置,现在输出java环境变量"
    echo "export JAVA_HOME="${JAVA_HOME}>>/etc/profile
    echo "export PATH="${PATH}:${JAVA_HOME}/bin>>/etc/profile

        source ~/.bash_profile
        echo '成功配置好了java环境变量!!!!'
fi

猜你在找的Bash相关文章