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相关推荐

  1. Linux之shell中的case in语句

    文章目录 shell中的case in 语句 1.case in 的用法 2.case in和正则表达式 shell中的case in 语句 1.case in 的用法 格式: 1 | case ex ...

  2. shell中使用case以及shift处理命令行参数

    shell或bash使用case与shift处理多个命令行参数 1. shift命令 在bash中定义了9个位置变量,分别使用$1,$2,-$9,借助 shift 命令可以访问多于9个的命令行参数. ...

  3. shell中的 case in 用法

    shell中的 case in 用法 用法case;in;esac都是shell关键字expression是表达式(既可以是一个变量,一个数字,一个字符串,还可以是一个数学计算表达式,或者是命令的执行 ...

  4. SHELL中的IF判断 ​

    SHELL中的IF判断 shell中if做比较 比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几 ...

  5. (2)shell编程学习 Shell中的变量(预设变量表)及变量定义与特殊变量 (脚本小子的进阶之路)

    这里尽量以较简略的篇幅讲解,如果之前有Python PHP语言基础的话,学习应该非常快.当然文章篇幅有限,只能讲一些主要的地方,一些偏的知识可能不讲. 目录 变量 局部变量 环境变量 自定义环境变量 ...

  6. linux脚本case语句,shell中的case语句,数组及函数

    case示例 ---------------------------------------------------------------------- .. echo "case&quo ...

  7. Shell中的case in 语句

    case in 的用法 case expression inpattern 1)statement1;;pattern 2)statement2;; --*)statementn esac 其中:ca ...

  8. linux shell中的case语句用法 以及 case default设置

    case语句使用于需要进行多重分支的应用情况 格式: case $变量名 in模式1)命令序列1;;模式2)命令序列2;; *)默认执行的命令序列 ;; esac     case语句结构特点如下: ...

  9. Shell中的case语句

    case语句 基本语法: case $变量名 in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; ...

最新文章

  1. vscode 终端 进入node_安装了Node.js 从VScode 使用node -v 和 npm -v等命令却无效
  2. C#2.0中的泛型学
  3. python抽象类可以实例化吗,是否可以在Python中创建抽象类?
  4. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源
  5. (三)MapReducer运行流程
  6. 光学定位与追踪技术_贺岁片《疯狂外星人》中徐峥出演外星人?幕后动捕技术了解一下...
  7. 开源问卷工具LimeSurvey:1:概要与安装
  8. SAXReader解析xml
  9. 双系统开机 进入grub resource,并且进不bios
  10. spring入门学习粗解(一)
  11. 弘辽科技:淘宝流失率是什么意思?客户流失的原因有哪些?
  12. PDF如何在线翻译?PDF在线翻译的方法
  13. GitHub上传教程,图文并茂
  14. 使用Redis如何设置永久密码
  15. 【Python自学笔记】报错No module Named Wandb
  16. HTML页面添加背景音乐
  17. Diffusion Model (扩散生成模型)的基本原理详解(三)Stochastic Differential Equation(SDE)
  18. 前置机的作用(转载)
  19. Unicode转换为UTF-8过程Demo
  20. 2021-01-19

热门文章

  1. Proxmark3 Easy Gui 4.0 5.0 5.1加强版 PM3GUI_X稳定优化版
  2. 旷视孙剑团队提出AutoML神经架构搜索新方法:单路径One-Shot,更精确更省时
  3. 牙龈细菌会进入大脑,引发阿尔茨海默病 | 《科学》子刊最新研究
  4. GitHub超过2600星的TensorFlow教程,简洁清晰还不太难丨资源
  5. 清华2018顶级数据团队建设全景报告发布:Python最受欢迎,C语言含金量最高
  6. 赠票福利 | 2018人工智能计算大会报名开启:算力爆燃,AI进化
  7. 大限将至?Google先知
  8. 谷歌发布轻量级视觉架构MobileNetV2,速度快准确率高
  9. python利用Excel读取和存储测试数据完成接口自动化
  10. Java多线程基础知识(一)