#!/bin/bash

######################################################
# file name: install_ant.sh
#
# function:
# To quickly install ant automatically
# in linux system...
#
# author: jeffzhao
# date: 2013.6.19
#
#
#
######################################################
ant_package_path="./"
ant_install_path="/opt/test/ant"
ant_package_name="apache-ant-1.9.1-bin.tar.gz"
ant_download_url="http://www.apache.org/dist/ant/binaries"/${ant_package_name}
antMD5_download_url="http://www.apache.org/dist/ant/binaries"/${ant_package_name}.md5

######################################################
# download from wen ftp
#
######################################################
function download_ant()
{
wget ${ant_download_url} >/dev/null
wget ${antMD5_download_url} >/dev/null
}

######################################################
# check package and package path
#
######################################################
function check_env()
{
# To Make Sure Ant Pakcage Path is Ok
if [ ! -d ${ant_package_path} ]
then
mkdir -p ${ant_package_path}
fi

# To Make Sure Ant Pakcage is OK

ls ${ant_package_path}| grep .tar.gz$ | grep ant >/dev/null

if [ $? == 1 ]
then
download_ant
check_md5
if [ $? != 0 ]
then
check_env
fi
else
ant_package_name= ls ${ant_package_path}| grep .tar.gz$
fi
}

######################################################
# check package md5
#
######################################################
function check_md5()
{
grep `md5sum ${ant_package_name} | cut -c 1-32` ${ant_package_name}.md5 >/dev/null
return $?
}

######################################################
# unzip package and copy files to install path
#
######################################################
function install_ant()
{
if [ ! -d ${ant_install_path} ]
then
mkdir -p ${ant_install_path}
fi

### clear env
rm -rf ${ant_install_path}/*

###
tar -xzvf ${ant_package_name}
mv `ls -l | grep ^d | grep ant | awk '{print$8}'` ${ant_install_path}
}

######################################################
# main
#
######################################################
function main()
{
## check root right
if [ `whoami` != 'root' ]
then
exit
fi

echo "Preinstall Checking start"
check_env
install_ant
}

main

写个自动下载安装Ant的shell脚本【二】的更多相关文章

  1. 写个自动下载安装Ant的shell脚本【一】

    #!/bin/bash ###################################################### # file name: install_ant.sh # # f ...

  2. ActiveX控件打包成Cab置于网页中自动下载安装(转载)

    原文出自http://www.iteye.com/topic/110834 [背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必 ...

  3. ActiveX控件打包成Cab置于网页中自动下载安装 [转]

    http://blog.sina.com.cn/s/blog_520c32270100nopj.html 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用, ...

  4. ActiveX控件打包成Cab置于网页中自动下载安装

    [背景] http://www.360doc.com/content/13/1120/20/10159093_330853247.shtml 做过ActiveX控件的朋友都知道,要想把自己做的Acti ...

  5. RHEL自动安装zookeeper的shell脚本

    RHEL自动安装zookeeper的shell脚本 A:本脚本运行的机器,Linux RHEL6 B,C,D,...:待安装zookeeper cluster的机器, Linux RHEL6 首先在脚 ...

  6. Linux自动安装JDK的shell脚本

    Linux自动安装JDK的shell脚本 A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在 ...

  7. linux - 怎么自动填写有交互的shell脚本 - SegmentFault

    linux - 怎么自动填写有交互的shell脚本 - SegmentFault TCL/Expect交互式自动化测试概要 - - ITeye技术网站 expect是一种基于TCL,能与交互式程序进行 ...

  8. ActiveX控件打包成Cab实现浏览器自动下载安装

    前言 我们在浏览器中使用我们自己的一些OCX,或者是DLL这一类的文件,在X86的机器上需要我们手动将这些文件拷贝到Windows/System32 文件夹下面去,然后通过Dos命令regsvr32 ...

  9. [python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序

    1.问题描述: 最近百度总爱做一些破坏用户信任度的事——文库金币变券.网盘限速,吓得我赶紧想办法把存在百度云音乐中的歌曲下载到本地. http://yinyueyun.baidu.com/ 可问题是云 ...

随机推荐

  1. Linux下top订购具体解释

    Linux下top订购具体解释 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvempmMjgwNDQxNTg5/font/5a6L5L2T/fontsize ...

  2. WinCacheGrind配合XDebug分析PHP程序性能

    http://www.nowamagic.net/librarys/veda/detail/2338

  3. JAVA格式化时间日期

    JAVA格式化时间日期 import java.util.Date; import java.text.DateFormat; /** * 格式化时间类 * DateFormat.FULL = 0 * ...

  4. iOS在xib或storyboard里为控件添加圆角、外框和外框颜色

    如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性 ...

  5. hdu2015java

    偶数求和 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submissio ...

  6. 一些as的配置

    打开Android Studio首选项对话框(Mac用户选择Android Studio菜单,Windows用户选择File → Settings菜单).分别展开Editor和Code Style选项 ...

  7. PHP多维数组的魅力

    让我们来体验一下多位数组的魅力吧! 多维数组就是一个数组里面包含一个或多个数组,这就是多维数组.下面用多维数组来编写一个小案例(代码在图片下面): <meta http-equiv=" ...

  8. hp惠普服务器监控硬盘

    惠普 hpssacli 工具使用 查看raid卡信息(包括控制器状态.Cache状态.电池状态) # hpssacli ctrl all show status 查看raid详细信息 # hpssac ...

  9. IHttpModule实现URL重写

    1.用自定义IHttpModule实现URL重写 一般来说,要显示一些动态数据总是采用带参数的方式,比如制作一个UserInfo.aspx的动态页面用于显示系统的UserInfo这个用户信息表的数据, ...

  10. 在DropDownList里显示多级分类

    protected void ddlBind() { DataTable dt = new DataTable(); ddlCategoryId.DataSource = getList(" ...