linux十五case用法

面向过程包含

顺序结构:按照语句出现的先后顺序依次执行;

选择结构:根据条件判断是否执行相关语句;

循环结构:当条件成立时,重复执行某些语句。

之前讲过选择结构中的IF语句

单分支的if语句

if [];then

statment

fi

双分支

if [];then

statment

else

statment

fi

多分支

if [];then

statment

elif [];then

statment

.......

else

statment

fi

:如果输入1,输出这里是1层,输入2,输出这里是2层,输入3,输出这里是3层。。。那么用If的多分支的话需要很多重复代码,利用率低,所以:

选择语句中除了IF 之外还有一个叫做case语法

 case选择语句可以结合read指令实现比较好的交互应答操作,case接收到read指令传入的一个或多个参数,然后case根据参数做选择操作。

栗子:

#!/bin/bash

#

case $1 in

'start')

echo "start server...";;

'stop')

echo "stop server...";;

'restart')

echo "restart server...";;

'startus')

echo "runing...";;

*)

echo "plese print [start|stop|restart|startus]"

esac

栗子:输入数字时输出是数字,输入小写字母时,输出是小写,输入大写时。。。。太多了,有点懒。。。

#!/bin/bash

#

case $1 in

[0-9])

echo "a digit.";;

[a-z])

echo "a lowe.";;

[A-Z])

echo "upper.";;

*)

echo "pelse print [[0-9]|[a-z]|[A-Z]]";;

esac

原文地址:https://www.cnblogs.com/X404/p/12346743.html