一个添加用户的小脚本

写一个脚本
1.添加10个用户user1..user10,密码同用户名,但要求只有用户不存在的情况才能添加。
2.扩展 能够接受一个参数
add:添加用户user..user10
del:删除用户user1..user0
其它:退出
3.能够接受参数,形如 adminusers.sh --add user1,user2,user3,hello,hi,.....
4.可以接受选项及参数,而后能够获取每一个选项及选项的参数,并能根据选项及参数做出特定的参数,比如:
adminusers.sh --add tom,jerry --del tom,blair -v|--verbose -h|--help

1.
#!/bin/bash
#添加10个用户user1..user10,密码同用户名,但要求只有用户不存在的情况才能添加
for I in {1..10}; do
if ! id user$I; then
useradd user$I &</dev/null
echo "user$I" | passwd --stdin user$I &>/dev/null
echo "Add user$I finished."
else
echo "user$I exits."
fi
done

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

2.
#!/bin/bash
#添加10个用户user1..user10,密码同用户名,但要求只有用户不存在的情况才能添加,能够接受一个参数
# add:添加用户user1..user10
# del:删除用户user1..user0

if [ $# -lt 1 ]; then
echo "Usage: `basename $0` arg."
exit 7
fi

if [$1 == 'add' ]; then
for I in {1..10}; do
if ! id user$I; then
useradd user$I &</dev/null
echo "user$I" | passwd --stdin user$I &>/dev/null
echo "Add user$I finished."
else
echo "user$I exits."
fi
done
elif [$1 == 'del ]
for I in {1..10}; do
if id user$I; then
userdel -r user$I &>/dev/null
echo "Delete user$I finished"
else
echo "user$I exist."
fi
done
else
echo "Unkown args"
exit 8
fi

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.
#!/bin/bash
#添加用户,但要求只有用户不存在的情况才能添加,能够接受参数形如 adminusers.sh --add user1,user2,user3,hello,hi,.....

if [ $# -lt 2 ]; then
echo "Usage: `basename $0` arg."
exit 7
fi

if [ $1 == '--add' ]; then
for USER in `echo $2| sed 's/,/ /g'`; do
if ! id $USER &>/dev/null; then
useradd $USER &</dev/null
echo "Add $USER finished."
else
echo "$USER exits."
fi
done
elif [ $1 == '--del' ]; then
for USER in `echo $2| sed 's/,/ /g'`; do
if id $USER &>/dev/null; then
userdel -r $USER &</dev/null
echo "Delete $USER finished."
else
echo "$USER Not exist."
fi
done
else
echo "Unkown args"
exit 8
fi

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4.

#!/bin/bash
#可以接受选项及参数,而后能够获取每一个选项及选项的参数,并能根据选项及参数做出特定的参数,比如:
# adminusers.sh --add tom,jerry --del tom,blair -v|--verbose -h|--help
#adminusers3.sh
BADARG=7
DEBUG=0
ADD=0
DEL=0

while [ -n "$1" ]; do
case "$1" in
-v|--verbose )
DEBUG=1
shift
;;
-h|--help )
echo "Usage:`basename $0` --add USER1,USER2,... --del USER1,USER2,... -v|--verbose -h|--help"
exit 0
;;
--add )
ADD=1
ADDUSERS=`echo "$2" | sed 's/,/ /g'`
shift 2
;;
--del )
DEL=1
DELUSERS=`echo "$2" | sed 's/,/ /g'`
shift 2
;;
* )
echo "Usage:`basename $0` --add USER1,USER2,... --del USER1,USER2,... -v|--verbose -h|--help"
exit $BADARG
;;
esac
done

if [ $ADD -eq 1 ]; then
for user in $ADDUSERS; do
if id $user &>/dev/null; then
[ $DEBUG -eq 1 ] && echo "$user exits."
else
useradd $user
[ $DEBUG -eq 1 ] && echo "add $user finished."
fi
done
fi

if [ $DEL -eq 1 ]; then
for user in $DELUSERS; do
if id $user &>/dev/null; then
userdel -r $user
[ $DEBUG -eq 1 ] && echo "delete $user finished."
else
[ $DEBUG -eq 1 ] && echo "$user not exits."
fi
done
fi

转载于:https://www.cnblogs.com/wangyi429111/p/8489118.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值