Linux的bash程序设计:如何批量删除用户?

来源:百度知道 编辑:UC知道 时间:2024/05/24 10:32:11
实验内容
编写shell程序实现:创建100个名为user1~user100的用户;创建100个名为dir1~dir100的目录,并位于/tmp下;将上述100个目录分别划归上述100个用户,即将dir1划给user1;再将上述100个用户的权限设置为:所有拥有全部权限、其他用户拥有执行权限、同组用户拥有读和执行权限。
实验步骤
(A)创建文件/root/user100.sh
# > /root/user100.sh
(B)编写程序
# vi /root/user100.sh

# bin/bash
i=1
path=/tmp
while [ $i -ne 101 ]
do
if ! grep "^user$i:" /etc/passwd > /dev/null 2>&1
then
useradd user$i
fi
if [ ! -d $path/dir$i ]
then
cd $path
mkdir dir$i
chown user$i.user$i dir$i
chmod 751 dir$i
fi
i=$[i+1]
done

(C)修改user100.sh的权限
# cd
# chmod +x user100.sh
(D)运行程序
# ./user100.sh
(E)查看结果
# ll /tmp
# cat /etc/passwd | grep “^user”

问题:如果要求将刚才创建的目录和用户全部删除,应该如何操作?请写出脚本文件。
“问题:如果要求将刚才创建的目录和用户全部删除,应该如何操作?请写出脚本文件。”这一行上面的是我们的实验指导,我已经做了。但最后一行的问题我不会做。希望大

#!/bin/bash
#此小脚本为方便需要大批量删除具有相通特征的用户(如xuanfei1 xuanfei2 xuanfei3)
read -p "请输入你想要删除的用户并指定范围(如:xuanfei 1 100):" a b c
let d=$c-$b+1
for((i=1;i<=$d;i++))
do
userdel $a$b && echo "已经成功删除$a$b用户"
#想彻底删除用户所有的资料可添加下条明令
#rm -rf /home/$a$b
let b=b+1
done