Linux命令之条件判断-case

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 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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值