0

リモート マシンにログオンして、vtwm プロセスを 14 日以上実行しているユーザーを確認できるシェル スクリプトを作成しようとしています。ここまで書いてきた内容です。

2つの問題があります

  1. このアクティブなプロセスを持つ複数のユーザーがいる可能性があります。それらすべてを変数に保存するにはどうすればよいですか?

  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
4

1 に答える 1