Мне было интересно, есть ли в ubuntu (желательно 9.04) что-то, что может определить, входит ли пользователь в систему на свой компьютер в первый раз или более одного раза в тот же день.
Причина, по которой мне это нужно, - создать сценарий bash, который запустит приложение (например, Firefox), если он впервые зашел в систему в тот день. Но если он снова зашел в систему в тот же день, приложение не запустится снова.
Кто-нибудь знает, есть ли у Ubuntu такая функция в командной строке?
Вот как это работает для меня на Linux-машине, отличной от ubuntu, которая сейчас удобна.
last | grep "$(date | cut -c -10)" | grep $(whoami) | wc -l
Можете немного подправить и получить результат - замените $(whoami)
с именем пользователя interst.
Обновление с очисткой на основе комментариев.
last username | grep "$(date '+%a %b %e')" | wc -l | sed 's/ //g'
В sed
фильтр в конце очищает лишние пробелы форматирования в результирующем количестве.
В last
команда покажет запись каждого входа в оболочку.
Что-то вроде этого, вероятно, сработает:
#!/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