1.要求用户从键盘输入一个用户名
2.判断此用户是否存在:
   如果不存在,就提示用户此用户名不存在,并退出脚本
  如果存在,就判断此用户的密码使用期限是否大于10天
     如果是,就告诉他的密码还有多少天可用
    否则,就警告次用户该改密码了,并且提示还能使用多少天
3.显示指定用户上一次的登录时间
 
 
 

#!/bin/bash
IFUSER() {
  read -p "Please input a user name" USERNAME
  if id $USERNAME &> /dev/null; then
    return 0
  else
    echo "The $USERNAME not exist."
    exit 6
  fi
}
 
WARNUSER(){
   let LASTDATE=`grep "$USERNAME:" /etc/shadow |cut -d: -f3`
#用户上次修改密码的时间
   let "CURRENTDATE=`date '+%s'`/86400"
#现在时间
   let MAXDATE=`grep "$USERDATE:" /etc/shadow |cut -d: -f5`
#最长使用期限
   let "WARNDATE=$MAXDATE-$CURRENTDATE+$LASTDATE"
   if [ $WARNDATE -gt 10 ];then
    echo "$WARNDATE"
   else
    echo "Please change your password in $WARNDATE"
  fi
}
 
LASTLOG (){
LASTLOGIN=`finger $1 | grep "Last login" | sed "s/.*Last login//g"`
echo "$1 last login time is: $LASTLOGIN"
}
IFUSER
WARNUSER $USERNAME
LASTLOG  $USERNAME