我想知道 ubuntu(最好是 9.04)是否有东西可以确定用户是否第一次登录他的计算机,以及是否在同一天多次登录。
我需要这个的原因是为了创建一个 bash 脚本,如果他当天第一次登录,它将启动一个应用程序(即 Firefox)。但如果他同一天再次登录,它将不会再次启动该应用程序。
有人知道 Ubuntu 是否在命令行中具有这样的功能?
答案1
这就是它目前在非 ubuntu Linux 机器上的工作方式。
last | grep "$(date | cut -c -10)" | grep $(whoami) | wc -l
您可以稍微调整一下并得到结果——$(whoami)
用感兴趣的用户名替换。
根据评论进行更新和清理。
last username | grep "$(date '+%a %b %e')" | wc -l | sed 's/ //g'
sed
最后的过滤器会清除结果计数中的多余格式空格。
答案2
该last
命令将显示 shell 每次登录的记录。
答案3
类似这样的事情可能会有效:
#!/bin/sh
CMD=`last -2 $USER | awk '{print $3,$4,$5}'`
THIS_DATE=`echo $CMD | head -1`
LAST_DATE=`echo $CMD | tail -1`
if [[ $THIS_DATE == $LAST_DATE ]]; then
/usr/bin/firefox &
else
# Do something else
fi
exit 0