AlexRomeo
发布于 2024-05-25 / 41 阅读
0
0

添加删除用户-可以识别字符串及文件

#!/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 

评论