3天玩转shell--3.流程控制之case

简介: 本文将通过shell代码示例,简单通俗的讲解shell。通过执行代码和运行结果反向掌握shell编程方法。准备一台低配的阿里云ECS Linux环境,跟着教程走起,本文比较适合shell小白。

一、这节课掌握如下几个知识点

【1】掌握case的写法及使用场景

二、通过代码讲解

该部分主要通过两种场景来讲解case的用法、场景一主要用在启动脚步、或者是一些工具类的脚本,场景二是针对一些网段、不同的字符串判断的情况进行处理。

场景一 执行:bash 3.sh init。通过传递不同的参数执行不同的函数

#!/bin/bash
#3.sh v1
#create by maoge 
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH
 
InitFunc(){
   echo "Run init"
}

StartFunc(){
   echo "Run Start"
}

StopFunc(){
   echo "Run Stop"
}

DefaultFunc(){
   echo "Run Default"
}

case $1 in
     init)
       InitFunc;; #
     start)
       StartFunc;;
     stop)
       StopFunc;;
     *)
       DefaultFunc;;
esac

场景二,修改代码中的不同IP网段,然后通过读取不同的IP,判断所属的机房。执行:bash 3.1.sh

#!/bin/bash
#3.1.sh v1
#create by maoge 
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
export LANG=zh_CN.UTF-8
export PATH
serverIp=$(ifconfig | awk '/inet /{sub(/addr:/,"",$2);print $2}'|grep -v "127.0.0.1"|head -1) #读取本机IP
case $serverIp in
        192.168.11.*)  #判断IP是否属于11网段
        echo "电信机房"
        ;;
        192.168.23[0-1].*|192.168.22[8-9].*)
        idc="联通机房"
        ;;
        *)
        echo "Unknown idc"  #其他情况下就输出unknown idc,然后退出。
        exit 1
        ;;
esac
相关文章
|
2月前
|
Java Shell 网络安全
Shell 流程控制
10月更文挑战第4天
40 2
|
7月前
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
104 1
|
7月前
|
运维 Shell Linux
第四章 Shell流程控制
第四章 Shell流程控制
|
7月前
|
Shell
shell学习(六) 【case多条件分支语句】
shell学习(六) 【case多条件分支语句】
113 1
|
7月前
|
监控 Shell 持续交付
利用Shell脚本自动化员工电脑监管软件的部署流程
在企业管理中,对员工的电脑活动进行监管是一项重要任务。而为了实现这一目标,部署监管软件是必不可少的。本文将介绍如何利用Shell脚本来自动化部署员工电脑监管软件的流程。我们将演示如何使用Shell脚本来自动下载、安装和配置监管软件,并且在部署完成后自动启动服务。
229 4
|
7月前
|
监控 Shell 持续交付
通过Shell脚本实现局域网管理软件的自动化部署流程
本文介绍了如何使用Shell脚本自动化局域网软件部署流程,以简化管理和提高效率。脚本包括定义安装目录、服务器列表和软件包,然后遍历服务器进行传输和解压。此外,还展示了通过Shell脚本监控网络设备和软件状态,并自动将监控数据提交到网站的功能,有助于及时发现和解决问题,提升系统稳定性。通过这种方式,可有效减轻管理员的工作负担,降低成本。
170 0
|
7月前
|
Shell
Shell脚本中的`case`语句
Shell脚本中的`case`语句
133 5
|
7月前
|
Shell
Shell流程控制
Shell流程控制
41 3
|
7月前
|
Java Shell Linux
Linux下的Shell基础——流程控制(三)
Linux下的Shell基础——流程控制(三)
72 0
Linux下的Shell基础——流程控制(三)
下一篇
DataWorks