shelllings

a practical way to learn shell
Log | Files | Refs | README | LICENSE

21_forloop.sh (473B)


      1 #!/bin/sh
      2 
      3 set -eu
      4 RED="\033[31m"
      5 GREEN="\033[32m"
      6 RESET="\033[0m"
      7 
      8 failed() {
      9 	printf "${RED}Failed${RESET}\n"
     10 
     11 	for file in tests/*; do
     12 		sed -i '/^# bloat message$/d' $file
     13 	done
     14 
     15 	[ -e .tmp ] && rm .tmp
     16 
     17 	exit 1
     18 }
     19 
     20 sh exercises/21_forloop.sh || failed
     21 
     22 for file in tests/*; do
     23 	name=$(basename "$file")
     24 
     25 	case "$name" in
     26 		21_forloop.sh)
     27 			continue
     28 			;;
     29 	esac
     30 
     31 	[ "$(grep "bloat message" "$file" | wc -l)" -ne 0 ]  && failed
     32 
     33 done
     34 
     35 
     36 printf "${GREEN}Passed${RESET}\n"