Linux命令之条件判断-case
2016-01-11 15:17
525 查看
case语句和判断语句[if...elif...else]功能类似;
当在逻辑判断比较简单的情况下,比后者的代码量要少许多.
匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
语法:
var = xxx
case $var in
value1 )
echo "input is value1"
;;
value2 )
echo "input is value2"
;;
valuen )
echo "input is valuen"
;;
* )
echo "i don't know"
;;
esac
说明:
1、星号(*)相当于其他语言中的default;
2、双分号(;;)是必须的,相当于java中的break;
3、竖线(|)用于分割多个模式,相当于or;
#从实战中学习
当在逻辑判断比较简单的情况下,比后者的代码量要少许多.
匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
语法:
var = xxx
case $var in
value1 )
echo "input is value1"
;;
value2 )
echo "input is value2"
;;
valuen )
echo "input is valuen"
;;
* )
echo "i don't know"
;;
esac
说明:
1、星号(*)相当于其他语言中的default;
2、双分号(;;)是必须的,相当于java中的break;
3、竖线(|)用于分割多个模式,相当于or;
#从实战中学习
#!/bin/bash ###程序启动脚本 case $1 in s | start ) echo "start..." ;; stop | end ) echo "stop..." ;; r | reload ) echo "reload..." ;; *) echo "Usage: $name [start|stop|reload]" exit 1 ;; esac
#!/bin/bash ###忽略大小写 echo "Please input yes or no" read var case "$var" in [yY][eE][sS] ) echo "input is yes" ;; [nN][oO] ) echo "input is no" ;; * ) echo "error input" ;; esac
#!/bin/bash #从键盘输入一个字符,判断该字符是否为字母、数字或者其他字符,并输出相应的提示信息 read -p "press a key," key case $key in [a-z] | [A-Z] ) echo "It's a letter." ;; [0-9] ) echo "It's a number." ;; * ) echo "other key." ;; esac
#!/bin/sh ###判断操作系统类型 var=`uname -s` case $var in Linux ) echo "os is Linux" ;; FreeBSD ) echo "os is FreeBSD" ;; * ) echo "unknown os: $var" ;; esac
相关文章推荐
- Linux socket 初步
- android wifi 无线调试
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)