- 获取当前shell所在目录:BASE_PATH=$(cd
dirname $0
;pwd)
- /etc/profile配置的是所有的用户 ~/.bashrc配置的是当前的用户
- $PATH表示引用已经定义好的变量
- 单引号双引号和“的区别
- 单引号表示原文输出
- 双引号表示如果有变量引用会取出变量中的值
- 表示先执行其中的代码,然后将结果传给下个命令,相当于管道命令
- {}对一串命令在当前shell执行,比如在shell中进行配置JDK环境变量的时候${JAVA_HOME}
- grep -q hell a.txt表示如果在a.txt中找到hello,就返回状态值0,一般用在if的判断上
#!/bin/bash
BASE_PATH=$(cd `dirname $0`;pwd)
JAVA_HOME="$BASE_PATH/jdk1.7.0_71.jdk/Contents/Home"
grep -q "export JAVA_HOME" /etc/profile
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