Сценарий, чтобы проверить, не вышел ли пользователь

Я создал эту программу, чтобы узнать, вошел ли пользователь в систему, и он проверяет каждую минуту.

if [ "$#" -ne 1 ] then echo "Usage: mon user" exit 1 fi user="$1" until who | grep "^$user " > /dev/null do sleep 60 done echo "$user has logged on" 

Но мой вопрос в том, как я могу изменить эту программу, чтобы узнать, вышел ли пользователь, а не войти в систему?

Спасибо за любую помощь! Очень признателен.

Вы можете отфильтровать файл защищенного журнала (при условии, что вы просто проверяете удаленный вход в систему). Файл безопасного журнала сообщает вам, когда пользователь входит в систему и выходит из системы. Также проверьте команду lastlog, а также файлы wtmp и utmp. Они будут содержать исторические данные для входа пользователя в систему.

Попробуй это.

 #!/bin/bash [ "$#" -ne 1 ] && { echo "Usage: $(basename $0) user" exit 1 } user="$1" grep "^$user:" /etc/passwd > /dev/null || { echo "There's no user called $user in this system." exit 2 } who | grep "^$user " > /dev/null && sleep 60 echo "$user has logged out"