📄 add
字号:
#! /bin/sh -record_file=passwdadd_file=adddelete_file=deleteclearecho " 用户信息增加情况"echo "========================================== " echo "输入用户的具体情况" while true #用户名 echo "username:" read user_name;do if (test -z "$user_name") #-z 长度为0成真|判空方法2 "$user_name" = " " then echo "你还没有输入用户名" continue elif echo $user_name>temp grep -qv "[a-zA-Z0-9]" temp then echo "输入的是无效的用户名 " rm -f temp elsecase $user_name in[a-zA-Z]*) if (awk -F: '{print $1}' $record_file|grep -wq $user_name)thenecho "该用户已经存在"continue echo " "elsebreak fi;;*)echo "用户名只能是字母或者下划线开头" ;;esacfi donewhile true #密码dostty -echo #输入不可见 echo "password:" read passwd1 if (test -z $passwd1) #输入不可见方法2 read -ersthen echo "还未输入密码,再来一次 "continueelif (test `expr length $passwd1` -lt 6 ) #-lt 小等于 then echo "密码长度不足6位,请重新输入"continuefi#elif#( echo $passwd1>temp # grep -qv "[a-zA-Z]" temp||grep -qv "[0-9]"#)#then#echo "弱密码,为了您的密码安全是否重新输入?(Y或N)"#read ans#case "$ans" in#y)continue;;#Y)continue;;#n)break;;#N)break;;#*)echo "请输入Y或N"#continue;;#esacif(echo $passwd1|grep -q "^[a-zA-Z]*$") || (echo $passwd1|grep -q "^[0-9]*$")thenecho "输入的是弱密码"echo "是否要重新输入?(Y或N)"read ycase $y iny|Y)continue;;n|N)echo "";;*)echo "输入错误重新输入"continueesacfi echo "password again:" read passwd2 if (test -z $passwd2) then echo "还未输入,重新来一次 " continue elif (test $passwd1 != $passwd2) then echo "两次输入不相同,请重新输入 "continue else stty echo #撤销输入不可见 break fidonewhile true #用户IDdo echo "user ID:" read uidif (test -z $uid)thenecho " 没有键入ID,请再次输入"continueelif( echo $uid>temp grep -q "[^0-9]" temp)then echo "无效ID"elif( test "$uid" -lt "500") #判空方法2 "$uid" = " "then echo "用户ID需要大于500,请再次输入" continueelse breakfidonewhile true #组IDdo echo "group ID:" read gidif(test -z $gid)thenecho " 没有键入ID,请再次输入" continueelif ( echo $gid>temp grep -q "[^0-9]" temp)thenrm -f tempecho " 无效ID"else breakfidonewhile true #用户全名 echo "user fullname:"read full_name do if (test -z "$full_name") then echo "你还没有输入用户全名" continue elif echo $full_name>temp grep -qv "[a-zA-Z0-9]" temp then rm -f /root/07zsb-02-28/temp echo "输入的是无效的用户全名 " elsebreak fi done # echo "user todd:" #主目录 # read user_todd while truedo echo "user shell:" read user_shell if (test -z $user_shell) then echo "没有输入!请再次输入" continue elif case $user_shell in bash)break;; csh)break;; kash)break;; sh)break;; esac then echo "输入的shell名不在本系统范围内! " else break fidoneclearecho " 用户信息增加情况"echo "========================================== " echo " user name : $user_name "echo " user ID : $uid "echo " group ID : $gid "echo " full name : $full_name "echo " shell : $user_shell"while true #保存用户信息do echo " " echo "增加这个用户吗?(Y or N)" read answer1if (test -z $answer1)then echo "还未输入,请输入Y或N "else case $answer1 in y)echo "$user_name: :$uid:$gid:$full_name: :$user_shell ">> $record_filebreak;; Y)echo "$user_name: :$uid:$gid:$full_name: :$user_shell ">> $record_filebreak;; n)break;; N)break;; *)echo "请重新输入Y或N" continue;; esacfidonewhile true #询问是否增加新用户doecho "还要继续添加新用户吗?(Y or N)"read answer2if (test -z $answer2)then echo "还未输入,请输入Y或N "else case $answer2 in y) clear sh $add_file;; Y)clear sh $add_file;; n)sh menu;; N)sh menu;; *)echo "请重新输入Y或N" continue;; esacfidone
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -