shell-条件判断式

if…then

if判断式的格式有如下三种。
第一种,单层、简单条件判断式

if [ 条件判断 ]; then
    当条件判断式成立时,可以进行的命令工作内容;
fi  <==将if反过来写,就称为fi,结束if之意。

第二种,一个条件判断

if [ 条件判断 ]; then
    当条件判断式成立时,可以进行的命令工作内容;
else
    当条件判断式不成立时,可以进行的命令工作内容;
fi  <==将if反过来写,就称为fi,结束if之意。

第三种,多个条件判断

if [ 条件判断式1 ]; then
    当条件判断式1成立时,可以进行的命令工作内容;
elif [ 条件判断式2 ]; then
    当条件判断式2成立时,可以进行的命令工作内容;
else 
    当条件判断式不成立时,可以进行的命令工作内容;
fi  <==将if反过来写,就称为fi,结束if之意

case…esac

case的语法格式如下:

case $变量名称 in     <==关键字为case,还有变量前有$
    "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键字为小括号')'
    程序段
    ;;               <==每个类型结尾使用两个连续的分号来处理!
    "第二个变量内容")
    程序段
    ;;
    *)               <==最后一个变量内容都会用*来代表所有其它值
    程序段
    exit 1
    ;;
esac                 <==最终的case结尾,“反过来写”而已。

一个简单的例子如下:

function print_message () {
    echo "my name is $1, and my studentnum is $2"
}

read -p "Please input your name: " name

case $name in
    "jimmy")
        print_message jimmy 111000623
        ;;
    "xiaohong")
        print_message xiaohong 11100624
        ;;
    *)
        print_message wuming null
        exit 1
        ;;
esac

执行过程如下:

root@silent:/home/lianxi/shell# ./case.sh 
Please input your name: jimmy
my name is jimmy, and my studentnum is 111000623
root@silent:/home/lianxi/shell# 
root@silent:/home/lianxi/shell# 
root@silent:/home/lianxi/shell# ./case.sh 
Please input your name: uuuu
my name is wuming, and my studentnum is null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值