linux下Bash编程组合测试及编写综合脚本(六)


1.Bash编程组合测试条件

 -a: 与关系

 -o: 或关系

  !: 非关系

 表示方法1:[ $# -gt 100 -a $# -le 500 ] 

 表示方法2:[ $# -gt 100 ] && [ $# -le 500 ]


2.编写一个任意添加与删除用户的脚本,要求如下:

     2.1:如果脚本选项是--add:,将添加用户; 如果选项是--del,将删除用户,如果是--help显示帮助信息

     2.2:脚本选项后面的参数可任意指定多个用户并且用逗号隔开密码同用户名;

     2.3:用户存在就提示不能添加,用户不存在就不能删除用户;尽可能有相关提示信息

  脚本内容如下:

vim admuseradv.sh  创建一个脚本文件:

#!/bin/bash

#以下红色部分是用来判断脚本后面参数是否正确,即最多2个参数

if [ $# -lt 1 -o $# -gt 2 ]; then

   echo "ARGUS is Bad,You use Script --help"

   exit 8

elif [ $# -eq 1 -a $1 == '--add' ]; then

   echo "ARGUS is Bad,You use Script --help"

   exit 18

elif [ $# -eq 1 -a $1 == '--del' ]; then

   echo "ARGUS is Bad,You use Script --help"

   exit 16

fi

#以下黑色部分是用来判断是否添加用户

if [ $1 == '--add' ]; then

   for I in `echo $2 | sed  's/,/ /g'`; do

      if ! id $I &> /dev/null; then

          useradd $I

          echo $I | passwd --stdin $I &> /dev/null

          echo "Add $I successfully"

      else

         echo "$I Exist" 

      fi

   done

#以下蓝色部分是用来判断是否删除用户

elif [ $1 == '--del' ]; then

   for I in `echo $2 | sed 's/,/ /g'`; do

      if id $I &> /dev/null; then

         userdel -r $I

         echo "Delete $I finishing"

      else

         echo "$I not exist"

      fi

   done

#以下黑色部分是用来判断是否寻求帮助信息

elif [ $1 == '--help' ]; then

     echo "./admuser.sh --add user1,user2...|./admuser.sh --del user1,user2,...| ./admuser.sh --help"

else

     echo "ARGs is error,Please Usage: --help"

fi

以下执行脚本进行测试效果:

./admuseradv   --add  user1,user2,user3    添加3个用户

wKiom1cR1zGQxmnDAADLv21IAJk286.jpg

./admuseradv   --del   user1,user2,user3    删除3个用户

wKioL1cR2ArBLVGNAADTUTxr88k533.jpg

./admuseradv    --help                                寻求帮助

wKiom1cR12DwqsklAADJvT32YyI610.jpg./admuseradv  abcdefg                             选项或参数写错导致报错信息

wKiom1cR16iQ3Av7AACRq6FruD0836.jpg