题目:
测试用户是否存在,并判断是否是超级用户
- 写一个脚本:如果指定的用户存在,先说明其已经存在,并显示其ID号和SHELL,并判断是否是超级用户;否则,就创建用户,并显示其ID号
脚本如下:
#!/bin/bash
#This shell script is for judge user is or not user
read -p "Please enter your account name: " user
ID=`cat /etc/passwd | grep ^$user | cut -d ':' -f3`
SHELL=`cat /etc/passwd | grep ^$user | cut -d ':' -f7`
resut=`id $user`
res=`echo $?`
if [ $res -eq 0 ]
then
echo "$ID"
echo "$SHELL"
if [ $ID -eq 0 ]
then
echo "The $user is superuser"
else
echo "The $user is normaluser"
fi
else
echo "This $user is not exsit,please create account"
useradd $user
id=`id -u $user`
echo "$id"
fi
逻辑如下:
根据输入的用户去判断下一步需要执行的动作,如已存在的allan用户,超级管理员root账户,不存在的账户Jack
使用read去读取下一步输入的用户名
-p | 指定要显示的提示 |
对于存在的用户要去获取ID和SHLL的值,使用awk去文本处理。
然后根据`id user`的输出是否为2,去判定用户是否存在,若存在在判定ID值是否为0,(root的uid是0)是否是root账户
若不存在的话,输出话术表名用户不存在。
然后执行创建用户,输出id值的动作