【CentOS 7Shell编程4】,shell中的case判断#180208
2019独角兽企业重金招聘Python工程师标准>>>
hellopasswd
shell中的case判断
- 格式case 变量名in value1) command ;; value2) command ;; *) command ;; easc
- 在case程序中,可以在条件中使用|,表示或的意思,比如2|3 command ;;
1 #!/bin/bash2 read -p "Please input a number:" n3 if [ -z $n ]4 then5 echo "Please input a number."6 exit 17 fi8 n1=`echo $n|sed 's/[0-9]//g'`9 if [ ! -z $n1 ]10 then11 echo "Please input a number."12 exit 113 #elif [ $n -lt 0] || [ $n -gt 100 ]14 #then15 # echo "The number range is 0-100."16 # exit 117 fi18 if [ $n -lt 60 ] && [ $n -ge 0 ]19 then20 tag=121 elif [ $n -ge 60 ] && [$n -lt 80 ]22 then23 tag=224 elif [ $n -ge 80 ] && [ $n -lt 90 ]25 then26 tag=327 elif [ $n -ge 90 ] && [ $n -le 100 ]28 then 29 tag=430 else31 tag=032 fi33 case $tag in34 1)35 echo "1"36 ;;37 2)38 echo "2"39 ;;40 3|4)41 echo "3"42 ;;43 *)44 echo "The number range is 0-100."45 ;;46 esac
[root@localhost shell]# sh -x 1.sh
+ read -p 'Please input a number:' n
Please input a number:101
+ '[' -z 101 ']'
++ sed 's/[0-9]//g'
++ echo 101
+ n1=
+ '[' '!' -z ']'
+ '[' 101 -lt 60 ']'
+ '[' 101 -ge 60 ']'
+ '[' 101 -lt 80 ']'
+ '[' 101 -ge 80 ']'
+ '[' 101 -lt 90 ']'
+ '[' 101 -ge 90 ']'
+ '[' 101 -le 100 ']'
+ tag=0
+ case $tag in
+ echo 'The number range is 0-100.'
The number range is 0-100.
[root@localhost shell]# sh -x 1.sh
+ read -p 'Please input a number:' n
Please input a number:59
+ '[' -z 59 ']'
++ echo 59
++ sed 's/[0-9]//g'
+ n1=
+ '[' '!' -z ']'
+ '[' 59 -lt 60 ']'
+ '[' 59 -ge 0 ']'
+ tag=1
+ case $tag in
+ echo 1
1
[root@localhost shell]# sh -x 1.sh
+ read -p 'Please input a number:' n
Please input a number:79
+ '[' -z 79 ']'
++ echo 79
++ sed 's/[0-9]//g'
+ n1=
+ '[' '!' -z ']'
+ '[' 79 -lt 60 ']'
+ '[' 79 -ge 60 ']'
+ '[' 79 -lt 80 ']'
+ tag=2
+ case $tag in
+ echo 2
2
[root@localhost shell]# sh -x 1.sh
+ read -p 'Please input a number:' n
Please input a number:89
+ '[' -z 89 ']'
++ echo 89
++ sed 's/[0-9]//g'
+ n1=
+ '[' '!' -z ']'
+ '[' 89 -lt 60 ']'
+ '[' 89 -ge 60 ']'
+ '[' 89 -lt 80 ']'
+ '[' 89 -ge 80 ']'
+ '[' 89 -lt 90 ']'
+ tag=3
+ case $tag in
+ echo 3
3
[root@localhost shell]# sh -x 1.sh
+ read -p 'Please input a number:' n
Please input a number:a
+ '[' -z a ']'
++ sed 's/[0-9]//g'
++ echo a
+ n1=a
+ '[' '!' -z a ']'
+ echo 'Please input a number.'
Please input a number.
+ exit 1
#!/bin/bash
read -p "Please input a number:" n
if [ -z $n ]
thenecho "Please input a number."exit 1
fi
n1=`echo $n|sed 's/[0-9]//g'`
if [ ! -z $n1 ]
thenecho "Please input a number."exit 1
#elif [ $n -lt 0] || [ $n -gt 100 ]
#then
# echo "The number range is 0-100."
# exit 1
fi
if [ $n -lt 60 ] && [ $n -ge 0 ]
thentag=1
elif [ $n -ge 60 ] && [ $n -lt 80 ]
thentag=2
elif [ $n -ge 80 ] && [ $n -lt 90 ]
thentag=3
elif [ $n -ge 90 ] && [ $n -le 100 ]
thentag=4
elsetag=0
fi
case $tag in1)echo "1";;2)echo "2";;3|4)echo "3";;*)echo "The number range is 0-100.";;
esac
这里的if [ ! -z $n1 ]可以用if [ -n "$n1" ]代替
修改于 180208
转载于:https://my.oschina.net/hellopasswd/blog/1619960
【CentOS 7Shell编程4】,shell中的case判断#180208相关推荐
- Linux之shell中的case in语句
文章目录 shell中的case in 语句 1.case in 的用法 2.case in和正则表达式 shell中的case in 语句 1.case in 的用法 格式: 1 | case ex ...
- shell中使用case以及shift处理命令行参数
shell或bash使用case与shift处理多个命令行参数 1. shift命令 在bash中定义了9个位置变量,分别使用$1,$2,-$9,借助 shift 命令可以访问多于9个的命令行参数. ...
- shell中的 case in 用法
shell中的 case in 用法 用法case;in;esac都是shell关键字expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行 ...
- SHELL中的IF判断
SHELL中的IF判断 shell中if做比较 比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几 ...
- (2)shell编程学习 Shell中的变量(预设变量表)及变量定义与特殊变量 (脚本小子的进阶之路)
这里尽量以较简略的篇幅讲解,如果之前有Python PHP语言基础的话,学习应该非常快.当然文章篇幅有限,只能讲一些主要的地方,一些偏的知识可能不讲. 目录 变量 局部变量 环境变量 自定义环境变量 ...
- linux脚本case语句,shell中的case语句,数组及函数
case示例 ---------------------------------------------------------------------- .. echo "case&quo ...
- Shell中的case in 语句
case in 的用法 case expression inpattern 1)statement1;;pattern 2)statement2;; --*)statementn esac 其中:ca ...
- linux shell中的case语句用法 以及 case default设置
case语句使用于需要进行多重分支的应用情况 格式: case $变量名 in模式1)命令序列1;;模式2)命令序列2;; *)默认执行的命令序列 ;; esac case语句结构特点如下: ...
- Shell中的case语句
case语句 基本语法: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; ...
最新文章
- vscode 终端 进入node_安装了Node.js 从VScode 使用node -v 和 npm -v等命令却无效
- C#2.0中的泛型学
- python抽象类可以实例化吗,是否可以在Python中创建抽象类?
- SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源
- (三)MapReducer运行流程
- 光学定位与追踪技术_贺岁片《疯狂外星人》中徐峥出演外星人?幕后动捕技术了解一下...
- 开源问卷工具LimeSurvey:1:概要与安装
- SAXReader解析xml
- 双系统开机 进入grub resource,并且进不bios
- spring入门学习粗解(一)
- 弘辽科技:淘宝流失率是什么意思?客户流失的原因有哪些?
- PDF如何在线翻译?PDF在线翻译的方法
- GitHub上传教程,图文并茂
- 使用Redis如何设置永久密码
- 【Python自学笔记】报错No module Named Wandb
- HTML页面添加背景音乐
- Diffusion Model (扩散生成模型)的基本原理详解(三)Stochastic Differential Equation(SDE)
- 前置机的作用(转载)
- Unicode转换为UTF-8过程Demo
- 2021-01-19
热门文章
- Proxmark3 Easy Gui 4.0 5.0 5.1加强版 PM3GUI_X稳定优化版
- 旷视孙剑团队提出AutoML神经架构搜索新方法:单路径One-Shot,更精确更省时
- 牙龈细菌会进入大脑,引发阿尔茨海默病 | 《科学》子刊最新研究
- GitHub超过2600星的TensorFlow教程,简洁清晰还不太难丨资源
- 清华2018顶级数据团队建设全景报告发布:Python最受欢迎,C语言含金量最高
- 赠票福利 | 2018人工智能计算大会报名开启:算力爆燃,AI进化
- 大限将至?Google先知
- 谷歌发布轻量级视觉架构MobileNetV2,速度快准确率高
- python利用Excel读取和存储测试数据完成接口自动化
- Java多线程基础知识(一)