利用case...in…esac条件判断

简介: 【1月更文挑战第7天】利用case...in…esac条件判断。

假如有多个既定的变量内容,例如sh09.sh当中,所需要的变量就是“hello”及空字符两个,那么这时只要针对这两个变量来设置情况就可以了。这时使用case...in...esac最为方便。
case $变量名称in <==关键字为case,变量前有 $ 符
"第一个变量内容") <==每个变量内容建议用双引号括起来,关键字则为小括号 )
程序段
;; <==每个类别结尾使用两个连续的分号来处理
"第二个变量内容")
程序段
;;
) <==最后一个变量内容都会用 来代表所有其他值
不包含第一个变量内容与第二个变量内容的其他程序运行段
exit 1
;;
esac <==最终的case结尾!思考一下case反过来写是什么
将sh09.sh的案例进行修改:
[root@Server01 scripts]# vim sh09-2.sh

!/bin/bash

Program:

Show "Hello" from $1.... by using case .... esac

History:

2021/08/29 Bobby First release

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
case $1 in
"hello")
echo "Hello, how are you ?"
;;
"")
echo "You MUST input parameters, ex> {$0 someword}"
;;
*) # 其实就相当于通配符,0~无穷多个任意字符之意
echo "Usage $0 {hello}"
;;
esac
将sh09.sh的案例进行修改:
[root@Server01 scripts]# vim sh09-2.sh

!/bin/bash

Program:

Show "Hello" from $1.... by using case .... esac

运行结果:
[root@Server01 scripts]# sh sh09-2.sh
You MUST input parameters, ex> {sh09-2.sh someword}
[root@Server01 scripts]# sh sh09-2.sh smile
Usage sh09-2.sh {hello}
[root@Server01 scripts]# sh sh09-2.sh hello
Hello, how are you ?
sh09-2.sh的案例当中,如果输入“sh sh09-2.sh smile”来运行,那么屏幕上就会出现“Usage sh09-2.sh {hello}”的字样,告诉用户仅能够使用hello。这样的方式对于需要某些固定字符作为变量内容来执行的程序就显得更加方便。
一般来说,使用“case 变量in”时,当中的那个“$变量”一般有以下两种取得方式。
直接执行式:例如上面提到的,利用“script.sh variable”的方式来直接给 $1这个变量内容,这也是在/etc/init.d目录下大多数程序的设计方式。
互动式:通过read这个命令来让用户输入变量的内容。
说明:让用户能够输入one、two、three,并且将用户的变量显示到屏幕上,如果不是one、two、three,就告诉用户仅有这3种选择。

相关文章
|
2月前
|
Python
|
2月前
|
Java Spring
巧用switch-case消除条件判断
`shigen`是一位致力于撰写博客文章的作者,通过记录成长历程、分享见解并留住感动瞬间。在其文章中,`shigen`介绍了多种消除if-else代码的方法,包括使用HashMap、枚举以及switch-case。最新示例展示了如何通过简洁的switch-case语句处理不同类型的请求,代码优雅且直观。此外,还预告了下一章节将探讨如何利用Spring框架的IOC能力来进一步优化条件判断。与`shigen`一起探索编程世界的每一天都充满新意!**个人IP:shigen**
34 0
巧用switch-case消除条件判断
|
6月前
break语句和continue语句
break语句和continue语句
41 0
|
C语言
for和do-while循环以及break和continue语句
for和do-while循环以及break和continue语句
75 0
|
机器学习/深度学习 Shell
二.条件判断case语句
二.条件判断case语句
82 1
break 语句
break 语句
132 0
break 语句
|
C#
switch case语句
switch case语句
199 0
2、条件语句(if、switch)
2、条件语句(if、switch)
89 0
|
PHP C#
C#(九)之循环语句for while do-while break continue
循环:反复执行某段代码。 循环四要素:初始条件,循环条件,循环体,状态改变。
200 0
C#(九)之循环语句for while do-while break continue
switch……case语句面试题
switch……case语句面试题
127 0