SHELL编程之case与函数

一、case语句概述

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

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

  case语句结构如下:

case 变量值  in

模式1)

  命令序列1

  ;;

模式2)

  命令序列2

  ;;

*)

  默认命令序列

esac

 1 #!/bin/bash
 2 read -p "请输入一个字符: " key
 3 case "$key" in
 4 [a-z]|[A-Z])                  #假如变量$key在26个大小写英文字母中
 5     echo  "您输入的是字母"
 6     ;;
 7 [0-9])                        #假如变量$key在数字0到9中
 8     echo "您输入的是数字"
 9     ;;
10 *)
11     echo "您输入的是其他功能键"
12 esac

二、case语句编写的程序控制脚本

  case语句广泛的用于编写程序控制脚本,用chkconfig来控制开关。这方面知识请大家参考http://www.cnblogs.com/mangood/p/6033044.html

三、SHELL函数

  将命令序列按格式写在一起,方便重复使用命令序列,我们把这种按格式罗列的命令序列叫做函数

(1)函数的定义:其中 [ function ]可写可不写

    [ function ]  函数名(){

      命令序列

      [return x]

    }

(2)调用函数

    函数名 [参数1] [参数2]

时间: 2024-10-10 17:45:02

SHELL编程之case与函数的相关文章

shell编程之case分支语句

shell编程之case分支语句 case分支语句和if的多分支语句很相似. if多分支语句一般用在有(区间范围)的地方 :例如:0-100之间. if需要判断多个不同的条件. case的分支语句用在 如果里面匹配到固定值:或某个变量存在多中取值,需要对其中的每一个取值分别执行不同的命令序列. case只是判断一个变量的不同取值. case的模式: 执行流程: 首先使用"变量值"与模式1进行比较,如果取值相同就执行模式1的命令序列1,直到遇见" ;; "后跳转到es

Shell编程之case多分支语句、循环语句(for、while等)、Shell函数、Shell数组

case多分支语句 case语句的结构: 针对变量的不同取值,分别执行不同的命令列 case 变量值 in 模式1) 命令序列1 ;; 模式2) 命令序列2 ;; ..... *) 默认命令序列 esac 示例: 字符类型识别: 提示用户输入一个字符: 判断出该字符是字母.数字或者其他字符. 脚本如下: [[email protected] opt]# vim test01.sh #!/bin/bash read -p "请输入一个字符:" key case $key in [a-z]

2018-7-10bash编程之case及函数

在上一章当中我们讲述了bash循环,其中我们讲述了for循环的特殊用法,以及while循环的特殊用法,而在此前我们讲述了循环的控制语句,一个是break,另一个是continue,对于continue来说,它是结束本轮循环而后进入下一轮循环,而break是提前结束其循环本身.但如果是循环嵌套的话,break只能退出当前那一层的循环,如果想退出所有的循环,就要使用break后面加上一个数字用来跳出循环的层数.而后while循环的特殊用法可以遍历文件的每一行,for以及while循环可以写成: fo

shell编程之case语句

bash脚本编程: case语句: 多分支if语句: if CONDITION1; then 分支1 elif  CONDITION2; then 分支2 ... else CONDITION; then 分支n fi 示例1:显示一个菜单给用户: cpu) display cpu information mem) display memory information disk) display disks information quit) quit 要求:(1) 提示用户给出自己的选择: (

Shell编程之case语句与循环语句

case语句分支 1.case语句的结构 case 变量值 in模式 1)命令序列 1;;模式 2)命令序列 2;;......*)默认命令序列esac case分支语句的结构图使用case分支语句的注意点:1.case行尾必须为单词"in",每一个模式必须以右括号")"结束.2.双分号";;"表示命令序列的结束.3.模式字符串中,可以用方括号表示一个连续的范围,如"[0-9]";还可以用竖杠符号"|"表示

Linux/Unix C编程之的perror函数,strerror函数,errno

#include <stdio.h> // void perror(const char *msg); #include <string.h> // char *strerror(int errnum); #include <errno.h> //errno ? errno 是错误代码,在 errno.h头文件中: perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符): strerror?是通过参数 errnum (就是errno)

我也来谈javascript高级编程之:javascript函数编译过程

前言 题目有点大,其实也就是手痒...跟大家来扯一下javascript编译过程. 那么到底什么是"编译"呢 这个...本人文笔太差,我还是直接举例子吧. 相信玩过js童鞋应该都看过下面这样一个面试题: var a=3; function fn(){ alert(a); function a(){ a=5; } a(); alert(a); } fn(); alert(a); 请问上面的题目执行结果如何呢? 各位童鞋答对了没.没答对?...没关系.别急.下面进一段js科普: 各位童鞋都

shell编程之array

变量 : 内存空间 类型 shell编程中所有变量类型为字符类型array 数组 数组中变量叫做element (元素) ,数组中每个元素都用索引位置来标注声明数组declare -a ARRAY_NAME赋值方法1 :AA[0]=jerry赋值方法2 :br/>AA={jerry,tom,lucy}数组实例![](https://s1.51cto.com/images/blog/201907/09/d85fa8a4c0a1da0c0a4e8975ba9d285f.png?x-oss-proce

Shell编程之Expect免交互

Shell编程之Expect免交互 Expect概述 Expect安装 Expect基本命令 Expect执行方式 Expect案例 Expect概述 Expect Expect是建立在tcl基础上的一个工具,Expect 是用来进行自动化控制和测试的工具.主要解决shell脚本中不可交互的问题.对于大规模的linux运维很有帮助 在linux运维和开发中,我们经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入yes/no password等信息.为了模拟这种输入,可以使