带选项增删用户

例27

需求:写一个增加或删除用户脚本,具体要求如下:

  1. 只支持三个选项:’–del’,’–add’,’–help’,输入其他选项报错。
  2. 使用’–add’时,需要验证用户名是否存在,存在则反馈存在,且不添加。 不存在则创建该用户,需要设置与该用户名相同的密码。
  3. 使用’–del’时,需要验证用户名是否存在,存在则删除用户及其家目录。不存在则反馈该用户不存在。
  4. –help选项反馈出使用方法。
  5. 能用echo $?检测脚本执行情况,成功删除或添加用户为0,不成功为非0正整数。
  6. 能以英文逗号分割,一次性添加或者删除多个用户。例如 adddel.sh --add user1,user2,user3

#!/bin/baash
if [ $# -eq 0 ] || [ $# -gt 2 ]
then
echo “Wrong, use bash $0 --add username, or bash $0 --del username or bash $0 --help”
exit
fi
ex_user()
{
if ! id $1 2>/dev/null >/dev/null
then
useradd $1 && echo “$1 add successful.”
else
echo $1 exist.
fi
}
notex_user()
{
if id $1 2>/dev/null >/dev/null
then
userdel $1 && echo “$1 delete successful.”
else
echo $1 not exist.
fi
}

case $1 in
–add)
if [ $# -eq 1 ]
then
echo “Wrong, use bash $0 --add user or bash $0 --add user1,user2,user3…”
exit
else
n=echo $2| awk -F ',' '{print NF}'
if [ $n -gt 1 ]
then
for i in seq 1 $n
do
username=echo $2 |awk -v j=$i -F ',' '{print $j}'
ex_user $username
done
else
ex_user $2
fi
fi
;;
–del)
if [ $# -eq 1 ]
then
echo “Wrong, use bash $0 --del user or bash $0 --del user1,user2,user3…”
exit
else
n=echo $2| awk -F ',' '{print NF}'
if [ $n -gt 1 ]
then
for i in seq 1 $n
do
username=echo $2 |awk -v j=$i -F ',' '{print $j}'
notex_user $username
done
else
notex_user $2
fi
fi
;;
–help)
if [ $# -ne 1 ]
then
echo “Wrong, use bash $0 --help”
exit
else
echo “Use bash $0 --add username or bash $0 --add user1,user2,user3… add user.”
echo " bash $0 --del username -r bash $0 --del user1,user2,user3… delete user."
echo " bash $0 --help print this info."
fi
;;
*)
echo “Wrong, use bash $0 --add username, or bash $0 --del username or bash $0 --help”
;;
esac

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值