Linux命令之条件判断-case

来源:互联网 发布:照片涂鸦软件 编辑:程序博客网 时间:2024/09/21 08:16
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;


#从实战中学习

#!/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 varcase "$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," keycase $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 inLinux )echo "os is Linux";;FreeBSD )echo "os is FreeBSD";;* )echo "unknown os: $var";;esac

0 0
原创粉丝点击