IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> shell脚本小例 -> 正文阅读

[大数据]shell脚本小例

这是学习shell脚本的第三天

这是一个安装卸载redis的脚本

#! /bin/bash

function redisInstall(){

 echo "
     ----------------redis-----------------
     1、Redis Version
     2、Redis Install&start
     3、Redis Stop&Remove
     4、Redis Start
     5、Redis Stop
     6、Redis Enable
     7、Redis Disable
     8、Redis Status
     9、Exit
     0、Menu
    "
    
 while true 
 do
    read -p "input info:" char
    case ${char} in
    1)
      #
      if ! test -z "$(find /usr/local/bin/ -name redis-server)" || ! test -z "$(find /usr/bin/ -name redis-server)" ;then
      echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Version~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
      redis-server -v
      echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Version~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
      else
      echo "Exception: Version information does not exist!"
      fi
    ;;
    2)
      yum install -y redis && systemctl start redis
    ;;
    3)
      read -p "Are you sure you want to uninstall redis???(yes/no | y/n)": yesOrNo
      if [ "${yesOrNo}" =  "yes" -o "${yesOrNo}" =  "y" ];
       then
        i=0
      while true;do
       sleep 0.1
       let i++
       if [ "${i}" -eq 80 ];then
         break
       fi
         echo -n "."
      done
      echo "start Uninstall!!!"
      systemctl stop redis && yum remove -y redis && rm -rf /var/lib/redis /var/log/redis /usr/local/bin/redis-server /usr/bin/redis-server && echo "Uninstall complete!" || echo "Exception: Service does not exist!"
      elif [ "${yesOrNo}" =  "no" -o "${yesOrNo}" =  "n" ];
       then
:<<EOF i=0
      while true;do
       sleep 0.6
       let i++
       if [ "${i}" -eq 5 ];then
         break
       fi
         echo -n "."
      done
      sh /app/nas/redisStatusInfo.sh
      else
EOF
      sh /app/nas/redisStatusInfo.sh
      fi

    ;;
    4)
      systemctl start redis || echo "Exception: Service does not exist!"
    ;;
    5)
      systemctl stop redis  || echo "Exception: The service is not started or does not exist!"
    ;;
    6)
      systemctl enable redis || echo "Exception: The service does not exist or is abnormal!"
    ;;
    7)
      systemctl disable redis || echo "Exception: The service does not exist or is abnormal!"
    ;;
    8)
      systemctl status redis || echo "Exception: The service is not started or does not exist!"
    ;; 
    9)
      exit
    ;;
    0)
      sh /app/nas/redisStatusInfo.sh
    ;;
    *)

    if [ ! -z "${char}" ];then
    echo "warning!"
    fi

    esac
done

}


redisInstall

注释:

#! /bin/bash

function redisInstall(){
#菜单
?echo "
? ? ?----------------redis-----------------
? ? ?1、Redis Version
? ? ?2、Redis Install&start
? ? ?3、Redis Stop&Remove
? ? ?4、Redis Start
? ? ?5、Redis Stop
? ? ?6、Redis Enable
? ? ?7、Redis Disable
? ? ?8、Redis Status
? ? ?9、Exit
? ? ?0、Menu
? ? "
#定义死循环 ? ?
?while true?
?do #输入
? ? read -p "input info:" char
? ? case ${char} in #分支语句
? ? 1)
? ? ? #查找并判断是否存在redis-server
? ? ? if ! test -z "$(find / -name redis-server)" ;then
? ? ? echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Version~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
? ? ? redis-server -v#打印版本信息
? ? ? echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Version~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
? ? ? else#异常
? ? ? echo "Exception: Version information does not exist!"
? ? ? fi
? ? ;;
? ? 2)#安装&启动&开启启动
? ? ? yum install -y redis && systemctl start redis && systemctl enable redis
? ? ;;
? ? 3)#输入 询问是否删除?
? ? ? read -p "Are you sure you want to uninstall redis???(yes/no | y/n)": yesOrNo
? ? ? if [ "${yesOrNo}" = ?"yes" -o "${yesOrNo}" = ?"y" ];#判断输入yes还是y
? ? ? ?then
? ? ? ? i=0
? ? ? while true;do #定义死循环
? ? ? ?sleep 0.1 #0.1毫秒
? ? ? ?let i++ #每0.1毫秒增加一个.点
? ? ? ?if [ "${i}" -eq 80 ];then #增加到第80个点时终止循环
? ? ? ? ?break #终止循环
? ? ? ?fi
? ? ? ? ?echo -n "." #输出.点
? ? ? done
? ? ? echo "start Uninstall!!!" #开始卸载
? ? ? #关闭&卸载&删除残留文件
? ? ? systemctl stop redis && yum remove -y redis && rm -rf /var/lib/redis /var/log/redis /usr/local/bin/redis-server /usr/bin/redis-server && echo "Uninstall complete!" || echo "Exception: Service does not exist!"
? ? ? elif [ "${yesOrNo}" = ?"no" -o "${yesOrNo}" = ?"n" ];#判断输入no还是n
? ? ? ?then
:<<EOF i=0 #注释
? ? ? while true;do
? ? ? ?sleep 0.6
? ? ? ?let i++
? ? ? ?if [ "${i}" -eq 5 ];then
? ? ? ? ?break
? ? ? ?fi
? ? ? ? ?echo -n "."
? ? ? done
? ? ? sh /app/nas/redisStatusInfo.sh
? ? ? else
EOF
? ? ? #卸载完毕回到菜单
? ? ? sh ./redisStatusInfo.sh
? ? ? fi

? ? ;;
? ? 4)#启动redis
? ? ? systemctl start redis || echo "Exception: Service does not exist!"
? ? ;;
? ? 5)#关闭redis
? ? ? systemctl stop redis ?|| echo "Exception: The service is not started or does not exist!"
? ? ;;
? ? 6)#redis开机启动
? ? ? systemctl enable redis || echo "Exception: The service does not exist or is abnormal!"
? ? ;;
? ? 7)#关闭开机启动
? ? ? systemctl disable redis || echo "Exception: The service does not exist or is abnormal!"
? ? ;;
? ? 8)#查看redis状态
? ? ? systemctl status redis || echo "Exception: The service is not started or does not exist!"
? ? ;;?
? ? 9)
? ? ? exit
? ? ;;
? ? 0)#回到主菜单
? ? ? sh ./redisStatusInfo.sh
? ? ;;
? ? *)
? ? #输入内容不在分支选项内
? ? if [ ! -z "${char}" ];then
? ? echo "warning!"
? ? fi

? ? esac
done

}

#执行方法
redisInstall
?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-01 23:28:20  更:2022-04-01 23:28:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:28:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码