入门级shell练习题4

题目:

测试用户是否存在,并判断是否是超级用户
   - 写一个脚本:如果指定的用户存在,先说明其已经存在,并显示其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值的动作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值