#!/usr/bin/bash . /etc/init.d/functions dp=`pwd` function path(){ if [[ -f '/etc/centos-release' ]];then echo "脚本运行 centos redhat系统" else echo_failure || echo "未知操作系统" fi ip=`hostname -I` echo "当前ip:$ip" echo "正在进行环境监测。。。" if [[ $dp != '/opt' ]];then echo_failure || echo "请在/opt 目录下运行此脚本" exit 1 fi if [[ $UID -ne 0 ]];then echo_failure || echo "请使用root登录" exit 1 else echo_success && echo "用户" sleep 1 fi ping -W1 -c1 114.114.114.114 &> /dev/null if [[ $? -ne 0 ]];then echo_failure || echo "网络错误,请检查网络" exit 1 else echo_success && echo "网络" sleep 1 fi yum repolist &> /dev/null if [[ $? -ne 0 ]];then echo_failure && echo "yum服务错误" exit 1 else echo_success && echo "yum" sleep 1 fi } function lolcat_down(){ yum list |grep ruby &>/dev/null if [[ $? -ne 0 ]];then echo_failure || echo "缺少依赖软件ruby" exit 2 fi yum install -y ruby gem wget unzip &>/dev/null ruby --version gem --version if [[ $? -ne 0 ]];then echo_failure || echo "程序异常" exit 2 fi wget https://github.com/busyloop/lolcat/archive/master.zip unzip master.zip
cd lolcat-master && echo "当前路径为 $dp" echo "开始执行编译,请稍后。。。" gem install lolcat if [[ $? -ne 0 ]];then return 126 fi } function clean(){ rm -rvf /opt/lolcat-master /opt/master.zip } function main(){ path lolcat_down if [[ $? -eq 126 ]];then echo "程序错误,清理环境中" clean exit 211 fi /opt/lolcat-master/bin/lolcat /etc/passwd &>/dev/null if [[ $? -eq 0 ]];then ln -s /opt/lolcat-master/bin/lolcat /usr/bin/lolcat else echo_failure || echo "程序异常" exit 3 fi echo "lolcat 程序安装完成" | lolcat } main if [[ $? -eq 0 ]];then read -p "是否进行自动安装,是输入yes 否输入任意键" d case $d in YES|yes) . hello.sh ;; *) echo "退出程序并清理环境" ;; esac fi
|