shell脚本-------------定期检查是否指定用户登录系统

项目需求:

每隔5分钟检查指定用户是否登录系统,用户名从命令行中输入,如果指定的用户已登录,则显示相关信息。

步骤分析:

  1. 每隔5分钟,可用计划任务,也可以做死循环
  2. 根据项目需求,用户名用户名要从命令输入,就意味着和用户交互,如果每5分钟交互一次,太麻烦了,所以死循环比较合适,只需要交互一次

脚本实现:

#!/bin/bash
read -p "请输入用户名:" user
while :
do
        if who |grep -qw $user
        then
                echo $user login
        else
                echo $user not login
        fi
        sleep 30
done

注释:
在while实现死循环之前,先让用户输入用户名,如果在循环里面,需要每5分钟,都去输入一次用户名,就有点不太合理了。
who:可以查看当前登录系统的用户名列表
grep -w 可以更加精准的匹配用户

你可能感兴趣的:(shell脚本,linux,shell)