Linux中使用shell脚本创建用户
• 执行users_create.sh userlist passlist• 建立userlist列表中的用户• 设定userlist列表中的密码为passlist列表中的密码• 当脚本后面跟的文件个数不足两时,报错• 当文件行数不一致时报错• 当文件不存在时报错思路:建立两个file文件userlist、passlist 在文件中分别写入用户名和密码,建立users_create.sh名字的 s
·
Linux中shell脚本训练
• 执行users_create.sh userlist passlist
• 建立userlist列表中的用户
• 设定userlist列表中的密码为passlist列表中的密码
• 当脚本后面跟的文件个数不足两时,报错
• 当文件行数不一致时报错
• 当文件不存在时报错
思路:建立两个file文件userlist、passlist 在文件中分别写入用户名和密码,建立users_create.sh名字的 shell脚本实现报错信息和添加用户。
Vim userlist
User1
User2
User3
Vim passlist
123456
234567
345678
Vim users_create.sh
#!/bin/bash
if
[ "$#" != 2 ] ##如果输入的文件数量不等于2
then
echo "please input userfile and passfile!!!"
exit
elif
[ ! -e "$1" ] ##如果userlist 不存在
then
echo "$1 is not exist !!!"
exit
elif
[ ! -e "$2" ] ##如果passlist不存在
then
echo "$2 is not exist !!!"
exit
elif
USER_LINE=`awk "BEGIN{N=0}{N++}END{print N}" $1` ##USER_LINE存储userlist行数
PASS_LINE=`awk "BEGIN{n=0}{n++}END{print n}" $2` ##PASS_LINE 存储passlist 行数
[ "$USER_LINE" != "$PASS_LINE" ] ##比较行数是否相等
then
echo "用户和密码个数不匹配"
exit
else
for LINE in `seq 1 $USER_LINE` ##循环 从第一行到最后一行
do
USERNAME=`sed -n ${LINE}p $1`
PASSWORD=`sed -n ${LINE}p $2`
useradd $USERNAME &&{
echo $PASSWORD | passwd --stdin $USERNAME &>/dev/null && echo $USERNAME CREATED!!
} ||{
echo $USERNAME is exist!
}
done
fi
sh users_create.sh userlist passlist ## 执行脚本 传参两个文件
更多推荐
已为社区贡献1条内容
所有评论(0)