目录
一、主程序
#!/bin/bash
# 创建用户并设置密码的函数
create_user() {
local username=$1
local password=$2
if id "$username" &>/dev/null; then
echo "用户 $username 已经存在。"
else
echo "正在创建用户 $username ..."
useradd $username
echo "$username:$password" | chpasswd
echo "已为用户 $username 设置密码。"
fi
}
# 读取输入信息
echo "请输入要创建的用户列表,用逗号隔开:"
read user_input
# 检查用户输入是否为空
if [ -z "$user_input" ]; then
echo "输入错误,未提供任何用户名。"
exit 1
fi
# 设置通用密码
PASSWORD="xxxxxxxxxxxxxxx"
# 分割输入的用户,并为每个用户调用创建函数
IFS=',' read -ra USERS <<< "$user_input"
for username in "${USERS[@]}"; do
create_user "$username" "$PASSWORD"
done
二、程序分析
这个脚本提供了一个用户创建操作的自动化过程。下面是脚本主要部分的分析:
-
create_user
函数:- 这个函数用来创建一个新用户。它接受两个参数:
$1
(用户名) 和$2
(密码)。 local username=$1
和local password=$2
定义了两个局部变量,这避免了在函数内部对全局变量进行操作。id "$username" &>/dev/null
这个命令检查系统中是否已存在用户名为$username
的用户。&>/dev/null
将命令的标准输出和错误输出都重定向到/dev/null
(即丢弃这些输出)。
- 这个函数用来创建一个新用户。它接受两个参数: