利用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种选择。

相关文章
|
Shell 开发工具 运维
|
机器学习/深度学习 Shell
二.条件判断case语句
二.条件判断case语句
98 1
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
190 0
|
SQL Perl
CASE语句与CASE表达式
      case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示以便于更好理解两者的异同及使用时的注意事项。
933 0
2、条件语句(if、switch)
2、条件语句(if、switch)
102 0
条件语句之Switch
Java条件语句之 switch 当需要对选项进行等值判断时,使用 switch 语句更加简洁明了。例如:根据考试的名次,给予前 4 名不同的奖品。第一名,奖励笔记本一台;第二名,奖励 IPAD 2 一个;第三名,奖励移动电源一个;最后一名奖励 U 盘一个。
|
PHP C#
C#(九)之循环语句for while do-while break continue
循环:反复执行某段代码。 循环四要素:初始条件,循环条件,循环体,状态改变。
227 0
C#(九)之循环语句for while do-while break continue

热门文章

最新文章