我正在使用这行脚本通过终端返回 Mac 上的用户帐户列表:
dscl . list /Users | grep -v '_'
虽然它返回所有用户帐户的列表,但我还需要它列出他们上次登录的信息。
我试图研究我还可以输入哪些其他命令,但没有成功。
如何返回 Mac 计算机上的用户帐户列表以及旁边的用户帐户上次登录信息?
答案1
您可以循环用户帐户并调用该last
命令。
这是一个小脚本:
#!/bin/bash
while read user; do
if ! last -5 "$user" | grep "^$user"; then
printf "$user\tno session found\n"
fi
done < <(dscl . list /Users | grep -v '^_')
您还可以向last
like提供多个用户名last user1 user2
,但除非用户存在会话数据,否则您不会获得任何输出。
在上面的脚本中,选项-5
用于将输出限制为 5 个(最近的)条目,并grep
确保每行都以您要查找的用户名开头。如果没有找到行,则为no session found
用户打印。
运行脚本时请确保您具有管理员权限,否则输出last
将为空。