这是很普通的shell的脚本,只需要注意:echo 语句内出现的变量,需要转义!

#!/bin/bash

function get_current_time_stamp()
{
echo `date "+%Y/%m/%d %H:%M:%S"`
}

function send_error()
{
echo -e "\e[1;45m [ Error ] `get_current_time_stamp` - $1 -\e[0m"
}

function send_success()
{
echo -e "\e[1;32m [ Success ] `get_current_time_stamp` - $1 -\e[0m"
}

function send_info()
{
echo -e "\e[1;34m [ Info ] `get_current_time_stamp` - $1 -\e[0m"
}

function send_warn()
{
echo -e "\e[1;33m [ Warn ] `get_current_time_stamp` - $1 -\e[0m"
}

check_java=$(rpm -qa|grep -E "^java" | wc -l)

if [ $check_java -gt 0 ];then
send_error "java has been installed, exit..."
exit 1
fi

if [ ! -d /usr/local ];then
mkdir -p /usr/local
chmod 755 /usr/local
fi

if [ ! -e "./jdk-8u181-linux-x64.tar.gz" ];then
send_error "jdk package not found..."
exit 1
fi

tar -zxvf ./jdk-8u181-linux-x64.tar.gz -C /usr/local/

if [ $? -ne 0 ];then
send_error "tar error, Please Check!"
exit 1
fi

cp /etc/profile /etc/profile.bak

echo "JAVA_HOME=/usr/local/jdk1.8.0_181" >> /etc/profile
echo "JRE_HOME=\$JAVA_HOME/jre" >> /etc/profile
echo "PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile
echo "CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar" >> /etc/profile

echo "export JAVA_HOME" >> /etc/profile
echo "export JRE_HOME" >> /etc/profile
echo "export PATH" >> /etc/profile
echo "export CLASSPATH" >> /etc/profile

send_info "JDK install finished."

最新文章

  1. Javascript 小技能
  2. linux命令:df
  3. android 开发赚钱
  4. 决策树Decision Tree 及实现
  5. java 复习003
  6. [Noi2014]魔法森林( 动态mst lct)
  7. Python之re正则模块
  8. Visual Studio Code快速删除空行及几个常用快捷键总结
  9. JVM 垃圾回收机制
  10. 一些hue的参考网址
  11. Tensorflow学习笔记02-Session,Variable,placeholder
  12. Struts2(九)OGNL标签一与Struts2标签
  13. python3.6 ubuntu
  14. jQuery ajax - get() 方法
  15. Python 不定参数函数
  16. Hadoop基础-SequenceFile的压缩编解码器
  17. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)
  18. Buildroot make网卡interfaces文件被修改
  19. 前端js转换时间戳为时间类型显示
  20. HDU 6035 Colorful Tree (树形DP)

热门文章

  1. JS设计模式(4)迭代器模式
  2. WinForm中预览Office文件
  3. Struts2 环境配置
  4. vue的技巧代码
  5. Lab 9-1
  6. Thread的中断机制(interrupt)
  7. HTML 点击图片放大
  8. laravel框架中的邮箱发送
  9. Swapping Characters CodeForces - 903E (字符串模拟)
  10. springcloud-Eureka-服务注册与发现核心组件