shell脚本:批量添加用户和删除用户
Posted BLotus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本:批量添加用户和删除用户相关的知识,希望对你有一定的参考价值。
写一个脚本,能接受多个选项和参数,而后能获取每个选项,及选项参数,并能根据根据选项及参数做出待定的操作
脚本用法:"Usage:adminiuser.sh --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"
脚本功能:
--add USER1,USER2,... 添加用户
--del USER1,USER2,... 删除用户
-v|-verbose 显示添加或者删除的过程结果
-h|-help 显示脚本用法
#/bin/bash
DEBUG=0
ADD=0
DEL=0
if [ $# -gt 0 ];then
echo -e "没有任何参数,请输入参数\nUsage:`basename $0` --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"
exit 9
fi
for i in `seq 0 $#`;do
if [ $# -gt 0 ];then
case $1 in
-v|--verbose)
DEBUG=1
shift 1;;
-h|--help)
exit 0;;
--add)
ADD=1
ADDUSERS=$2
shift 2;;
--del)
DEL=1
DELUSERS=$2
shift 2;;
*)
echo "Usage:`basename $0` --add USER1,USER2|--del USER1,USER2|-v|--verbose|-h|--help"
exit 7;;
esac
fi
done
if [ $ADD -eq 1 ];then
for USER in `echo ${ADDUSERS} | sed 's@,@ @g'`;do
if id $USER &> /dev/null;then
[ $DEBUG -eq 1 ] && echo "用户已存在"
else
useradd $USER
echo "$USER"|passwd --stdin $USER &>/del/null
[ $DEBUG -eq 1 ] && echo "用户${USER}添加成功,默认密码同用户名"
fi
done
fi
if [ $DEL -eq 1 ];then
for USER in `echo ${DELUSERS} | sed 's@,@ @g'`;do
if id $USER &> /dev/null;then
userdel -r $USER
[ $DEBUG -eq 1 ] && echo "用户${USER}已删除"
else
[ $DEBUG -eq 1 ] && echo "用户${USER}不存在"
fi
done
fi
以上是关于shell脚本:批量添加用户和删除用户的主要内容,如果未能解决你的问题,请参考以下文章