本文所有内容均来自当年博主当年学习笔记,若有不足欢迎指正

Shell编程之case语句与函数

学习目标:

掌握case语句编程

掌握shell函数的使用

目录结构:

Case语句

Case语句的作用

l  使用case语句改写多分支可以使脚本结构更加清晰,层次分明

l  针对变量不同取值,执行不同的命令序列

Case语句的结构

case 变量值 in

模式1)

命令序列1

;;

模式2)

命令序列2

;;

*)

默认命令序列

csac

case变量=模式1 ?是,则执行命令序列1,否,则判断变量=模式2 ?是,则执行命令序列2,否,则判断变量=模式3 ?是,则执行命令序列3,否,则执行默认命令序列。

实例:

l  击键类型识别脚本,判断输入的是字母还是数字还是其他字符

[root@poll ~]# vi a.sh

#!/bin/bash

#this is zifupanduan

read -p "请输入一个字符:" key

case $key in

[a-z]|[A-Z])

echo "您输入的是字母。"

;;

[0-9])

echo "您输入的是数字"

;;

[/]|[?]|[,])

echo "您输入的是$key"

;;

*)

echo "您输入的是其他字符"

esac

shell函数

l  将命令序列按格式写在一起

l  可方便重复使用命令序列

l  Shell函数定义

[function] 函数名(){

命令序列

[return x]

}

l  调用函数的方法

[root@poll ~]# vi sum.sh

#!/bin/bash

#this is SUM

SUM(){

echo "这是一个求和运算"

read -p "请输入第一个数:" A

read -p "请输入第二个数:" B

echo "你输入的两个数分别为:$A $B"

SUM=$(($A+$B))

echo "两个数的和为:$SUM"

#return $(($A+$B))

}

SUM

#echo "两个数的和为:$?"

l  Linux系统中有很多服务器启动脚本

定义了丰富的shell函数

嵌套了各种语句,如if语句等

可参考其编写的服务器启动脚本

[root@poll scripts]# vi /etc/init.d/network

……

if [ -f /etc/sysconfig/pcmcia ]; then

. /etc/sysconfig/pcmcia

fi

# Check that networking is up.

[ "${NETWORKING}" = "no" ] && exit 6

# if the ip configuration utility isn't around we can't function.

[ -x /sbin/ip ] || exit 1

CWD=$(pwd)

cd /etc/sysconfig/network-scripts

……

本章初步结束,下一节讲循环语句

03 shell编程之case语句与函数的更多相关文章

  1. bash编程之case语句,函数

    bash脚本编程:之case语句   条件测试: 0: 成功 1-255: 失败   命令: [ expression ] [[ expression ]] test expression   exP ...

  2. shell编程之case分支语句

    shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 ...

  3. shell编程之if语句

    shell编程之if判断 目录 shell编程之if判断 1.整数比较 2.字符串比较 3.举例 1.数字比较 2.字符串比较 4.Other 1.整数比较 -eq 等于,如:if [ "$ ...

  4. SHELL编程之case与函数

    一.case语句概述 使用case语句改写if多分支可以使脚本结构更加清晰.层次分明 针对变量不同取值,执行不同的命令序列 case语句结构如下: case 变量值  in 模式1) 命令序列1 ;; ...

  5. Shell编程之case条件

    一.case条件语句 1.语法 case "变量" in 值 1) 指令 1... ;; 值 2) 指令 2... ;; *) 指令 3... esac case条件语句的执行流程 ...

  6. shell脚本编程之for语句、if语句使用介绍

    介绍了shell脚本编程之for语句.if语句的使用方法. 上部: 面向过程: 顺序执行 选择执行: if, case 循环执行: for, while, until 一.for语句 格式:      ...

  7. shell编程之awk命令详解

    shell编程之awk命令详解 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; out ...

  8. PHP Socket 编程之9个主要函数的使用之测试案例

    php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络 ...

  9. linux网络编程之shutdown() 与 close()函数详解

    linux网络编程之shutdown() 与 close()函数详解 参考TCPIP网络编程和UNP: shutdown函数不能关闭套接字,只能关闭输入和输出流,然后发送EOF,假设套接字为A,那么这 ...

随机推荐

  1. scss-颜色运算符

    scss允许使用颜色分量以及算术运算和任何颜色表达式返回颜色值. 例如scss代码: $color1: #333399; $color2: #CC3399; p{ color: $color1 + $ ...

  2. flex布局帮助你快速实现布局

    flex布局可以帮我们快速布局一些区块,实现你想要的效果,不用再去float,position之类的.我们在布局网页的时候很多时候都是一些特殊布局,flex就能帮我快速去布局,不需要去定位. 任何一个 ...

  3. alpinelinux

    https://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos https://nixos.org/nix/manual/#ch-installing-b ...

  4. wxpython 对话框

    . 消息对话框(wx.MessageDialog) 消息对话框 与用户通信最基本的机制是wx.MessageDialog,它是一个简单的提示框. wx.MessageDialog可用作一个简单的OK框 ...

  5. js:JSON对象与JSON字符串转换

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式. 同时,JSON是 JavaScript 原生格式,这 ...

  6. Linux添加alias简化命令

    一.简介 linux alias 是命令的一种别称,输入 alias 可以看到像下面这样的结果: alias vi="vim" 也即,输入vi后,被自动定向到vim这个命令了.al ...

  7. JSP中include动作与指令

    include指令 JSP中有三大指令:page,include,taglib,之前已经说过了page的用法.这里介绍下include. 使用语法如下: <%@ include file=&qu ...

  8. 推荐一个很好用的脚本session snapper

    源网址http://tech.e2sn.com/oracle-scripts-and-tools/session-snapper 内容: If you want to just download Sn ...

  9. May 23rd 2017 Week 21st Tuesday

    Winners are not those who never fail but those who never quit. 成功者不是从不失败,而是从不放弃. Nothing is impossib ...

  10. C# 调用 SQL server 初探

    相信不少人都和我一样: 1.学过数据库原理接触过SQL Server,做过一套卷子外加一个数据库设计作业: 2.学过C# 但从来还没在程序里用到过数据库(哈哈,新手躺枪) 这也是我第一次在C#里用数据 ...