shell交互式判断用户输入用户名是否存在

阅读: 1488 | 文章分类: Shell | Tag: Shell  

## 用shell写出能够查询用户是否存在 > 功能介绍: 1、提示当前用户名 2、判断用户输入的用户名是否为空,空则提示输入正确用户名 3、输入的用户名存在 则echo出用户名和UID 4、输入的用户名不正确则做判断当前用户是否为为超级管理员用户(判断依据:uid=0 使用了系统变量$UID) 5、超级管理员:询问用户该用户名称不存在,是否创建用户(y为创建用户,其他则为不创建) 6、普通用户:提示用户不存在 ``` #!/bin/bash # 日期:2018.4.9 # 姓名:黄家辉 # 内容:用户什么都不输入时要提示 请输入正确的用户名格式 echo "您当前使用的是$(whoami)用户" read -p "请输入您要查询的用户名称:" NAME if [ ! -z "$NAME" ];then id $NAME >/dev/null 2>&1 if [ $? -eq 0 ];then UUID=`id -u $NAME` echo "用户 $NAME 已存在!该用户UID是: $UUID" else if [ "$UID" -eq 0 ];then read -p "用户 $NAME 未存在,您是否创建该用户?输入y确认:" UOPT if [ "$UOPT" == "y" ];then useradd $NAME UUID=`id -u $NAME` echo "用户 $NAME 已成功创建!该用户UID是:$UUID" else echo "未创建 $NAME 用户" fi else echo "用户 $NAME 未存在,如要创建该用户,请使用管理员账号创建" fi fi else echo "请输入正确的用户名格式!" fi ``` [下载脚本](https://www.cloudhy.cn/uploads/Shell/username.sh "下载脚本")