求一个shell脚本

my_nature_2 2016-03-13 07:53:42
二、写一个脚本:
(1) 判断一个用户是否存在,用户名通过参数传递而来;
如果存在,就显示此用户的shell和UID
如果不存在,就说此用户不存在;
(2)提示用户输入用户名,而后将其传递给上面的函数;
(3)判断结束后不退出,而是提示用户可继续输入其它用户名,或输入q或Q退出;
...全文
231 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
MrPiak 2016-03-18
  • 打赏
  • 举报
回复
下面这个是我写的,测试过了。 1.你把代码粘贴一个login.sh文件中 2.chmod 777 login.sh 3.直接运行脚本就行了,你自己试试
#*********************************************************************************
#     1. 判断一个用户是否存在,用户名通过参数传递而来;
#        如果存在,就显示此用户的shell和UID
#            如果不存在,就说此用户不存在;
#     2. 提示用户输入用户名,而后将其传递给上面的函数;
#     3. 判断结束后不退出,而是提示用户可继续输入其它用户名,或输入q或Q退出;
#
#*********************************************************************************

#!/bin/bash 
USERNAME=""
USERSHELL=""
USERUID=""

function while_get_username()
{
        while true
        do
                echo "Please input the username:"
                read USERNAME
                if [ "$USERNAME" = "q" ] || [ "$USERNAME" = "Q" ]  
                then
                        exit
                fi

                get_user_shell_uid

                [ -z $USERSHELL ]

                if test $? -eq 0
                then
                        echo "user is not exist!"
                else
                        echo $USERNAME "shell is" $USERSHELL
                        echo $USERNAME "UID   is" $USERUID
                fi
        done
}

function get_user_shell_uid()
{
        USERSHELL=`cat /etc/passwd | grep ^$USERNAME  | awk -F ':' '{print $7}'`
        USERUID=`cat /etc/passwd | grep ^$USERNAME  | awk -F ':' '{print $3}'`
}

if test $# -eq 1    #脚本入口
then                        
        USERNAME=$1                #有参数情况
        get_user_shell_uid
        if  [ -z $USERSHELL ]
        then
                echo "user is not exist!"
        else
                echo $USERNAME "shell is" $USERSHELL
                echo $USERNAME "UID   is" $USERUID
        fi
else
        while_get_username   #没有参数处理
fi

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧