shell 脚本编程之条件语句
来源:互联网 发布:杰奇小说源码 编辑:程序博客网 时间:2024/06/13 23:59
if 判断结构
if 判断的结构如下
if condition; then commandelif condition; then commandelse commandfi
要特别注意的是 condition 后面要加一个分号,这是与很多语言不相同的地方;另外否则如果的关键字是 elif,if 结束的关键字是 fi,if 反过来写
#learn_condition.sh#!/bin/bashecho please input a score:read scoreif [ $score -lt 0 -o $score -gt 100 ]; then echo invalidelif [ $score -lt 60 ]; then echo bad scoreelif [ $score -lt 80 ]; then echo no badelif [ $score -lt 90 ]; then echo pretty goodelse echo very goodfi
执行结果
please input a score:100very goodplease input a score:101invalidplease input a score:25bad scoreplease input a score:70no badplease input a score:89pretty good
case 判断结构
case 判断的结构如下
case VAR in condition1) command1 ;; condition2) command2 ;; *) command3 ;;esac
case 结构相当于 C 语言中的 switch 语句,要注意的是每个分支后面要加两个分号,分号和命令之间要有空格;条件后面加一个括号,default 分支用一个 * 表示;结束关键字为 esac,刚好是 case 反过来写,if 结束关键字也是 if 反过来写,这点比较奇葩。
echo please input a score:read scorecase $score in 100) echo 满分 ;; 90) echo 优秀线 ;; 80) echo 良好线 ;; 60) echo 及格线 ;; *) echo 普通分数 ;;esac
执行结果
please input a score:60及格线please input a score:50普通分数please input a score:90优秀线please input a score:-10普通分数
case 结构比较简单明了,但它只能处理相等的情况,功能没有 if 那么强大;像这个例子中 -10 属于 default 分支,就被判定成普通分数。如果只是判断几个相等的情况,则可以优先选 case,case 处理不了的再用 if 结构。另外 case 结构可以处理正则表达式的情况
echo give me a word:read wordcase $word in *[[:lower:]]*) echo -en "Lowercase " ;; *[[:upper:]]*) echo -en "Uppercase " ;; *[[:digit:]]*) echo -en "Numberical " ;; *) echo "unknown input" ;;esac
执行结果
give me a word:LinLowercasegive me a word:LINUppercasegive me a word:12aLowercasegive me a word:123Numbericalgive me a word:;[]unknown input
这个脚本判断输入的单词是否有小写字母或大写字母或数字,使用正则表达式的方式,如果单词中存在小写字母,则匹配到第一个条件;否则如果存在大写字,则匹配到第二个条件;否则如果存在数字,则匹配到第三个条件;否则则匹配到默认条件。echo 后面的两个参数,-e 的意思是处理特殊字符,-n 的意思是不换行,下次 echo 的输出会接着本次输出的后面。
阅读全文
1 0
- shell 脚本编程之条件语句
- shell编程条件语句
- Linux shell脚本编程if语句的使用方法(条件判断)
- shell脚本条件语句编写
- shell 脚本编程之循环语句
- shell脚本编程之循环语句
- Linux Shell编程之 for循环语句 if条件语句
- Linux笔记之shell脚本4:条件语句
- shell脚本编程教程之三 --- 条件分支编程
- shell脚本编程之for语句、if语句使用介绍
- Shell编程之IF条件语句各种案例演练
- Shell编程之流程控制语句(条件判断)
- shell脚本编程-脚本语法-条件测试
- shell脚本之条件测试
- shell 脚本之条件判断
- shell脚本之条件语句if和分支语句case...esac【shell脚本的学习笔记三】
- Shell脚本[运算表达式,条件控制语句]
- shell脚本的条件判断语句
- How many integers can you find
- 设计模式六大原则之依赖倒置原则
- 递归编程盘点
- libfdk_aac is incompatible with the gpl and --enable-nonfree is not specified.
- 学习方法总结
- shell 脚本编程之条件语句
- 不敢死队问题
- 移动端1像素实现
- xadmin theme自定义主题
- [Navicat] 常用快捷键及注意事项
- CSS基础
- 进程的分类和杀死顺序
- 标识符
- HDU 6069 Counting Divisors (2017 Multi-Univ Training Contest 4)