#!/bin/bash
# 脚本内容来自然工作时的脚本小升级,大致原因如下。
# 传参的时候可能会有人把字符串和文件混着传,所以通过for循环逐个判断参数是文件还是字符串。
echo "请根据提示输入:"
echo "add[创建用户] del[删除用户]"
read -p "退出程序请使用Ctrl +C:" x
file_operate(){
file=$1
while true
do
case $x in
add)
for user in `cat ${file}`
do
useradd ${user}
echo "123456" | passwd --stdin ${user} 1>/dev/null
chage -d 0 ${user} 1>/dev/null
done
break
;;
del)
for user in `cat ${file}`
do
userdel -r ${user}
done
break
;;
*)
echo "add[创建] del[删除]"
esac
done
}
useradd_operate(){
useradd $i
echo "123456" | passwd --stdin $i 1>/dev/null
chage -d 0 $i 1>/dev/null
}
userdel_operate(){
userdel -r $i
}
if [ $# -eq 0 ];then
echo "脚本后的参数缺少 usernae or usernames_file"
exit 0
fi
# main
for i in $@
do
if [ -f $i ];then
echo "进入文件操作"
file_operate $i
elif [ -z $i ];then
exit 0
else
echo "进入字符串操作"
if [ ${x}x == addx ];then
useradd_operate $i
elif [ ${x}x == delx ];then
userdel_operate $i
fi
fi
shift
done