歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 使用shell判斷一個用戶是否存在(用戶名通過參數傳遞而來)

使用shell判斷一個用戶是否存在(用戶名通過參數傳遞而來)

日期:2017/3/3 15:59:57   编辑:關於Linux

寫一個腳本:

1、使用函數實現:

判斷一個用戶是否存在,用戶名通過參數傳遞而來;

如果存在,就顯示此用戶的shell和UID

如果不存在,就說此用戶不存在;

2、提示用戶輸入用戶名,而後將其傳遞給上面的函數;

3、判斷結束後不退出,而是提示用戶可繼續輸入其它用戶名,或輸入(quit)退出;

不廢話,代碼如下:

#!/bin/bash  
#Author: MOS  
#Script name: funUinfo.sh  
#Date & Time: 2012-10-09/21:06:02  
#Version: 1.0.1  
#Description:  
#  
#定義函數  
Find_u(){  
#判斷輸入值是否為空,如果為空,則函數結束,返回值1  
[ -z $1 ] && return 1  
#判斷用戶是否存在,存在則顯示要求,不存在,函數結束,返回值1  
if id $1 &> /dev/null ;then 
    echo "$1 UID is `id -u $1`"
    echo "$1 Shell is `grep "^$1:" /etc/passwd \
    |cut -d':' -f7 `"  
else
    return 1  
fi  
}  
#循環執行,以符合題目要求  
while :;do
read -p "Please input A username[quit to exit]: " User 
    if [ $User = quit ];then 
        exit 0  
    else
        Find_u $User 
        Res=$?  
        [ $Res -eq 1 ] && echo "No such $User."
    fi  
done

URL:http://www.bianceng.cn/OS/Linux/201410/45680.htm

Copyright © Linux教程網 All Rights Reserved