ユーザーがログアウトしたことを確認するスクリプト

ユーザーがログアウトしたことを確認するスクリプト

ユーザーがログインしたことを1分ごとに確認するためにこのプログラムを作成しました。

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"

しかし、私の質問は、ユーザーがログインの代わりにログアウトしていることを確認するためにこのプログラムを変更する方法です。

あなたが提供できる助けに感謝します!ありがとう。

ベストアンサー1

この試み。

#!/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"

おすすめ記事