#!/bin/bash function isin() { org=$1 shift if [ $# = "0" ] then return 1 fi if [ $org = $1 ] then return 0 else shift #echo running isin $org $* isin $org $* fi } then_people=$(users | tr ' ' '\n' | sort -u) sleep 1800 now_people=$(users | tr ' ' '\n' | sort -u) #then_people=$(echo "ag55668 so1000 aa1000 nm1000" | tr ' ' '\n' | sort -u) #now_people=$(echo "ag55668 so1000 zz9999 ab3645" | tr ' ' '\n' | sort -u) people_still_on="" people_logged_off="" people_logged_on="" for i in $then_people do if isin $i $now_people then people_still_on="$people_still_on $i" else people_logged_off="$people_logged_off $i" fi done for i in $now_people do if ! isin $i $then_people then people_logged_on="$people_logged_on $i" fi done echo People still logged on: $people_still_on echo People that logged off: $people_logged_off echo People that logged on: $people_logged_on