前面用bash脚本批量生成了用户 https://feichashao.com/rhel6-bash-batuser/ ,现在问题来了: 如果我要批量删掉它们呢?
基本功能
1. 程序接受两个参数,第一个是删除用户的数量,第二个是待删除用户的前缀。
例如,
# ./batUserdel 3 testuser
那么 testuser1, testuser2, testuser3 都会被删除。
特殊情况处理
1. 如果待删除的用户不存在,可不管。
2. 用户已经登录了,强制删除。
代码实现
#!/bin/bash # # Delete users in batch. # Parameters: Number of users to be deleted; Username prefix; # Results: Delete users as specified. # Execution: batUserdel# Example: batUserdel 3 sampleuser # Example-result: sampleuser1, sampleuser2, sampleuesr3 would be deleted. # Author: feichashao # if [ $# -ne 2 ] then echo "This program must take EXACTLY 2 parameters." exit 3 fi number=$1 username=$2 for i in $(seq 1 $number) do userdel $username$i -r -f echo "Deleted user [$username$i]." done
测试
前一文章创建了以tu开头的30个用户,现在批量删除它们。
chmod 777 batUserdel ./batUserdel 30 tu
查看/etc/passwd 文件,应该用户已经被删除了.
# vim /etc/passwd