Shell判断:流程控制—if(二)

一、多分支结构

        1、语法:

  •                  if 条件测试1
  •                 then 命令序列
  •                 elif 条件测试2
  •                 then 命令序列
  •                 elif 条件测试3
  •                 then 命令序列....
  •                 else 命令序列
  •                 fi

        2、示例:

                需求:编写脚本,取出系统时间的小时,对数字进行判断 6--10 this is morning ;11--13 this is noon ;14--18 this is afternoon ;其他 this is night         

[root@localhost ~]# vim time.sh    #编写脚本
#!/bin/bash
hour=`date +%H`
if  [ $hour  -ge 6 -a $hour -le 10 ]
then
echo "this is morning"

elif  [  $hour -ge 11 -a $hour -le 13  ]
then
echo "this is noon"

elif [ $hour -ge 14 -a $hour -le 18   ]
then
echo "this is afternoon"

else
echo "this is night "
fi

[root@localhost ~]# chmod +x time.sh     #脚本授权

[root@localhost ~]# ./time.sh     #执行脚本
this is night 

      

        

二、嵌套结构

        1、语法:

  •                 if 条件测试1 then 命令序列
  •                 if 条件测试1 then 命令序列
  •                 else 命令序列
  •                 fi
  •                 else 命令序列
  •                 fi 

        2、示例:

                需求:                 

        

[root@localhost ~]# vim useradd2.sh    #脚本编写
#!/bin/bash
read -p "请输入新用户名:" name
id $name &> /dev/null
if [ $? -eq  0   ]
then
echo "$name 用户已经存在,不需要创建。"
else
read -p "用户即将创建,请输入用户的新密码:" pass
if [ ${#pass}  -ge 7  ] ; then
useradd $name
echo "$name 用户创建成功"
echo $pass | passwd --stdin  $name
echo "$name 用户的密码是123456"
else
echo "输入的密码不足7位,创建用户失败"
fi
fi

[root@localhost ~]# chmod  +x useradd2.sh    #脚本授权

[root@localhost ~]# ./useradd2.sh     #执行脚本
请输入新用户名:op
op 用户已经存在,不需要创建。
[root@localhost ~]# ./useradd2.sh 
请输入新用户名:yy
用户即将创建,请输入用户的新密码:123
输入的密码不足7位,创建用户失败
[root@localhost ~]# ./useradd2.sh 
请输入新用户名:yy
用户即将创建,请输入用户的新密码:123456789
yy 用户创建成功
更改用户 yy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
yy 用户的密码是123456

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值