Linux中shell脚本训练
• 执行users_create.sh userlist passlist
• 建立userlist列表中的用户
• 设定userlist列表中的密码为passlist列表中的密码
• 当脚本后面跟的文件个数不足两时,报错
• 当文件行数不一致时报错
• 当文件不存在时报错
思路:建立两个file文件userlist、passlist 在文件中分别写入用户名和密码,建立users_create.sh名字的 shell脚本实现报错信息和添加用户。
Vim userlistUser1User2User3Vim passlist123456234567345678Vim users_create.sh
#!/bin/bashif[ "$#" != 2 ]##如果输入的文件数量不等于2thenecho "please input userfile and passfile!!!" exitelif[ ! -e "$1" ]##如果userlist 不存在thenecho "$1 is not exist !!!"exitelif[ ! -e "$2" ]##如果passlist不存在thenecho "$2 is not exist !!!"exitelifUSER_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" ]##比较行数是否相等thenecho "用户和密码个数不匹配"exitelsefor LINE in `seq 1 $USER_LINE`##循环 从第一行到最后一行doUSERNAME=`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!}donefi
sh users_create.sh userlist passlist ## 执行脚本 传参两个文件