#! /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