fork download
  1. #!/bin/bash
  2.  
  3. # ideone boilerplate: run in temp dir
  4. t=$(mktemp -d -t ideone.XXXXXXXX) || exit
  5. trap 'rm -rf "$t"' ERR EXIT
  6. cd "$t"
  7.  
  8. cat <<\: >compute_list
  9. abcd up
  10. efgh down
  11. foo bar
  12. ijkl up
  13. :
  14.  
  15. verify()
  16. {
  17. while true ;do
  18. read -p "Have you fixed? Yes/No: " yn
  19. case $yn in
  20. YES|Yes|yes|y|Y)
  21. printf "Hola"
  22. # check_status # DON'T!
  23. break
  24. #continue
  25. ;;
  26. NO|No|no|n|N)
  27. printf "Please fix"
  28. ;;
  29. *)
  30. printf "Please answer yes or no.\n"
  31. ;;
  32. esac
  33. done
  34. }
  35.  
  36. check_status()
  37. {
  38. while IFS=" " read -u 3 -r rec1 rec2
  39. do
  40. if [ $rec2 == 'up' ]
  41. then
  42. echo "$rec1 is up"
  43. else
  44. echo "$rec1 is down so please fix"
  45. verify
  46. fi
  47. done 3< <(cut -d " " -f1,2 compute_list)
  48. }
  49.  
  50. check_status
Success #stdin #stdout 0.01s 5552KB
stdin
n
y
n
y
stdout
abcd is up
efgh is down so please fix
Please fixHolafoo is down so please fix
Please fixHolaijkl is up