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个用户
./admuseradv --del user1,user2,user3 删除3个用户
./admuseradv --help 寻求帮助
./admuseradv abcdefg 选项或参数写错导致报错信息