リモート マシンにログオンして、vtwm プロセスを 14 日以上実行しているユーザーを確認できるシェル スクリプトを作成しようとしています。ここまで書いてきた内容です。
2つの問題があります
このアクティブなプロセスを持つ複数のユーザーがいる可能性があります。それらすべてを変数に保存するにはどうすればよいですか?
14 日以上ログオンしているユーザーを特定するにはどうすればよいですか?
次のコードは、アクティブな vtwm プロセスを持つユーザーが 1 人しかいないという前提で書かれています。しかし、grep コマンドは変数 $u を認識しないため、機能しません。そのため、ユーザーがログインした日付を取得できません。grepの問題により、mth1とday1を機能させることができません。
u=$(ssh host "w | grep vtwm | cut -d' ' -f1")
echo "USER:"$u
if [ -n "$u" ] then
mth1=$(who | grep -i $u | cut -d' ' -f10 | cut -d'-' -f2)
mth2=$(date +"%m")
day1=$(who | grep -i $u | cut -d' ' -f10 | cut -d"-" -f2)
day2=$(date +"%d")
if [ $mth1==$mth2 ] then
#do something
elif[ $mth1!=$mth2 ] then
#do something
fi
fi