19,612
社区成员
发帖
与我相关
我的任务
分享
#*********************************************************************************
# 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