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   ## 执行脚本 传参两个文件 

Logo

更多推荐