Shell学习笔记 shell流程控制

21 篇文章 0 订阅
10 篇文章 0 订阅

流程控制语句if

单分支结构

if  [ 条件成立 ];then

     执行

fi

双分支结构

if  [ 条件成立 ];then

    执行1

else

    执行2

fi

多分支结构

if  [ 条件1 ];then

     执行1

elif [ 条件2 ];then   

    执行2。。。

elif [ 条件n ];then   

    执行n  。。。

else

     执行。。

fi

流程控制语句case

case 变量 in

  模式1)

        命令1;;

  模式2)

        命令2;;

  *)

        无匹配后命令序列

esac

例子

[root@servicex script]# ./day03/test_case.sh 
Usage: ./day03/test_case.sh [redhat|centos]
[root@servicex script]# ./day03/test_case.sh redhat
your parameter is redhat
[root@servicex script]# ./day03/test_case.sh centos
your parameter is centos
[root@servicex script]# cat day03/test_case.sh 
#!/usr/bin/bash
#Desc:test case 
#Author:lalin
#Date:2020-04-25



case $1 in
  redhat)
    echo "your parameter is redhat"
    ;;
  centos)
    echo "your parameter is centos"
    ;;
  *)
    echo "Usage: $0 [redhat|centos]"
    exit 1
esac

添加用户

[root@servicex script]# ./day03/add_user.sh 
please input username to create: lalin2
user add successed!
uid=1237(lalin2) gid=1237(lalin2) groups=1237(lalin2)
[root@servicex script]# cat day03/add_user.sh 
#!/usr/bin/bash
#Desc:create user when you input the username
#Author:lalin
#Date:2020-04-25
 

read -p "please input username to create: " rd_uname

id $rd_uname &>/dev/null

case $? in
  0)
    echo "the user you input is already exists!"
    ;;
  1)
    useradd $rd_uname
    if [ $? -eq 0 ];then
      echo "user add successed!"
      id $rd_uname
    else
      echo "user add faild!"
    fi
    ;;
  *)
    echo "Something wrong with the shell"
    exit 1
esac

删除用户

[root@servicex script]# id lalin2
uid=1237(lalin2) gid=1237(lalin2) groups=1237(lalin2)
[root@servicex script]# ./day03/del_user.sh 
please input username to delete: lalin2
user delete successed!
[root@servicex script]# id lalin2
id: lalin2: no such user
[root@servicex script]# cat day03/del_user.sh 
#!/usr/bin/bash
#Desc:delete user when you input the username
#Author:lalin
#Date:2020-04-25
 

read -p "please input username to delete: " rd_uname

id $rd_uname &>/dev/null

case $? in
  1)
    echo "the user you input doesnt exists!"
    ;;
  0)
    userdel -r $rd_uname
    if [ $? -eq 0 ];then
      echo "user delete successed!"
    else
      echo "user delete faild!"
    fi
    ;;
  *)
    echo "Something wrong with the shell"
    exit 1
esac

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值