Bash - поиск неожиданных учетных записей пользователей

У меня есть отличная линия, чтобы перечислить все учетные записи пользователей, но как мне сказать, не ожидается, что один из них не будет в списке.

cat /etc/passwd | grep "/home" | cut -d: -f1

fred 
barney
wilma
elroy_jetson

Я не ожидаю, что Elroy Jetson будет в посоле, поэтому я хочу поднять флаг. Единственный способ, которым я могу думать, что это кажется неуклюжим:

ALL_USERS_ARE_VALID="true"
for USER in `cat /etc/passwd | grep "/home" | cut -d: -f1`; do
  if [[ "$USER" == "fred" ]]; then
    #valid user
  elif [[ "$USER" == "barney" ]]; then
    #valid user
  elif [[ "$USER" == "wilma" ]]; then
    #valid user
  else
    ALL_USERS_ARE_VALID="false"
  fi
done

Там должен быть лучший путь ...

0
задан Ed Manet 8 September 2011 в 13:03
поделиться