寫一個shell腳本:
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