#!/bin/bash

# ideone boilerplate: run in temp dir 
t=$(mktemp -d -t ideone.XXXXXXXX) || exit
trap 'rm -rf "$t"' ERR EXIT
cd "$t"

cat <<\: >compute_list
abcd up
efgh down
foo bar
ijkl up
:

verify()
{
  while true ;do
      read -p "Have you fixed? Yes/No: " yn
      case $yn in
         YES|Yes|yes|y|Y)
         printf "Hola"
         # check_status # DON'T!
         break
         #continue
         ;;
         NO|No|no|n|N)
         printf "Please fix"
         ;;
         *)
         printf "Please answer yes or no.\n"
         ;;
     esac
  done
}

check_status()
{
  while IFS=" " read -u 3 -r rec1 rec2
  do
    if [ $rec2 == 'up' ]
    then
      echo "$rec1 is up"
    else
      echo "$rec1 is down so please fix"
      verify
    fi
  done 3< <(cut -d " " -f1,2 compute_list)
}

check_status