#!/bin/bash DATE=$(date +%F_%T) USER_FILE=user.txt echo_color() { if [ $1 == "green" ];then echo -e "\033[32;40m$2\033[0m" elif [ $1 == "red" ];then echo -e "\033[31;40m$2\033[0m" fi } #如果用戶文件存在並大小大於0就備份 if [ -s $USER_FILE ];then mv $USER_FILE ${USER_FILE}_${DATE}.bak echo_color green "$USER_FILE exist,rename ${USER_FILE}_${DATE}.bak" fi echo -e "User\tPaassword" >> $USER_FILE echo "--------------------" >> $USER_FILE for USER in user{1..10};do if ! id $USER &>/dev/null; then PASS=$(echo $RANDOM | md5sum | cut -c 1-8) useradd $USER echo $PASS |passwd --stdin $USER &>/dev/null echo -e "$USER\t$PASS" >> $USER_FILE echo "$USER User create successful." else echo_color red "$USER User already exists!" fi done
其中用到的知識點:
echo $RANDOM 隨機生成一串數字
md5sum將某串數字或字符轉成長串字符
cut -c 1-8 取1到8位字符