Xshell初学者

发布于:2022-08-07 ⋅ 阅读:(415) ⋅ 点赞:(0)

初学shell写的一个小脚本,可以查询Linux用户是否存在,修改已有用户的密码。如果用户不存在进行创建用户,密码匹配。请大佬们指点,那些可以优化。刚学到if流控。代码如下:

#!/bin/bash
read -p "请输入用户的名字:" name
if id $name &>/dev/null 
  then
    echo "用户已经存在!"
#修改已有用户密码
    read -p "你想修改已有账号密码吗?[yes/no]:"  xf
    if [ $xf = "yes" ]
      then 
        read  -s -p "请输入密码,7到16位:"  password1
        echo   #换行
        read  -s -p "请再次输入密码,7到16位:"  password2   
        if [ "$password1"  ==  "$password2"  ] && [ ${#password1} -ge 7 -a ${#password1} -le 16 ] 
          then
        echo $password1 | passwd --stdin $name &> /dev/null
            echo #换行
            echo "密码修改为 "$password1" "
        else
            echo #换行 
          echo  "密码有问题无法修改!"  
        fi  
    else   echo "不做任何修改!"
    fi
#修改已有密码结束

#用户不存在创建流程开始 
else
  read -p "请输入密码,格式为7到16位,包含小写字母,大写字母,特殊字符@._!:" password
    if  [ ${#password} -ge 7 -a ${#password} -le 16 ] && [[ $password =~ [a-z] ]] && [[ $password =~ [A-Z] ]] && [[ $password =~ [@_.!] ]] 
      then 
        useradd $name 
        echo $password | passwd --stdin $name &> /dev/null
        echo " "$name" 创立,密码为 "$password" " 
    else 
      echo "用户密码不合格无法创建!"
    fi
#创建流程结束    
fi 
 


网站公告

今日签到

点亮在社区的每一天
去签到