#! /bin/bash
第一行的脚本生命#! 用来告诉系统用哪一个解释器shellshell
read -p "Enter The Users Password : " PASSWD
Linux read命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令能够用来读取键盘输入,当使用重定向的时候,能够读取文件中的一行数据。
-p后面跟提示信息,即在输入前打印提示信息
PASSWD是变量至关于输入的密码bash
for UNAME in cat users.txt
for 循环开始 UNAME 是变量 因``用cat 读取了users内容, UNAME至关于 users的内容ide
do
id $UNAME &> /dev/null测试
ID是命令,使用方式至关于ID andy 效果是判断系统里有没有andy这个用户。
此处id $UNAME 效果是用来判断系统里有没有用户跟users.txt 内容的名字重名。
&>/dev/null 此处效果是不显示不必的信息code
if [ $? -eq 0 ]
判断是或否blog
then
echo "Already exists"
else
useradd $UNAME &> /dev/null
若是是就提示已存在
若是不然用命令useradd 给变量$UNAME 添加用户it
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
if [ $? -eq 0 ]
then "$UNAME , Create success"
else
echo "$UNAME , Create failure"for循环
把输入的密码变量$PASSWD用管道符重定向给下个命令
passwd --stdin 是个命令能够不用敲两遍 输入一遍就能够
而后用if判断语句测试成功与否再输出反馈class
fi
fi
done
变量
关闭两个for循环和 if 测试语句。
2 for 循环语句简单用法
for NAME in xx yy zzdouseradd $NAMEecho password| passwd --stdin $NAMEdone