RHEL6: Bash脚本实现批量删除用户

前面用bash脚本批量生成了用户 http://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 <number of users> <username prefix>
# 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