编写一个shell脚本:显示在线用户列表的所有详细信息
时间: 2024-10-17 21:14:46 浏览: 30
编写一个Shell脚本来显示在线用户的详细信息通常涉及到网络服务的查询,比如通过`who`, `w`, 或者 `last` 等命令获取数据。这里是一个基本的示例,它会显示当前登录系统的用户名、终端类型和最后一次活动的时间:
```bash
#!/bin/bash
# 获取当前所有已登录用户的详细信息
users=$(who | awk '{print $1 "\t" $2 "\t" $3}')
# 打印结果
echo "在线用户详细信息:"
echo "$users"
# 显示每个用户的最后登录时间(假设系统支持 last -n 1)
echo "最近一次登录时间:"
echo "last -n 1 $(who | cut -d ' ' -f1)"
# 提示用户可以提供特定条件过滤,例如只查看SSH用户
read -p "是否仅显示SSH用户 (y/n)? " filter_ssh
if [[ "$filter_ssh" == "y" ]]; then
ssh_users=$(whoami | xargs w -h | grep -E 'ssh.*login')
echo "\n仅SSH用户:"
echo "$ssh_users"
fi
#
阅读全文