1*13de33a5SJulio Merino 2*13de33a5SJulio Merinoerrors=0 3*13de33a5SJulio Merino 4*13de33a5SJulio Merinof() { 5*13de33a5SJulio Merino result= 6*13de33a5SJulio Merino case $1 in 7*13de33a5SJulio Merino a) result=${result}a ;; 8*13de33a5SJulio Merino b) result=${result}b ;& 9*13de33a5SJulio Merino c) result=${result}c ;& 10*13de33a5SJulio Merino d) result=${result}d ;; 11*13de33a5SJulio Merino e) result=${result}e ;& 12*13de33a5SJulio Merino esac 13*13de33a5SJulio Merino} 14*13de33a5SJulio Merino 15*13de33a5SJulio Merinocheck() { 16*13de33a5SJulio Merino f "$1" 17*13de33a5SJulio Merino if [ "$result" != "$2" ]; then 18*13de33a5SJulio Merino printf "For %s, expected %s got %s\n" "$1" "$2" "$result" 19*13de33a5SJulio Merino errors=$((errors + 1)) 20*13de33a5SJulio Merino fi 21*13de33a5SJulio Merino} 22*13de33a5SJulio Merino 23*13de33a5SJulio Merinocheck '' '' 24*13de33a5SJulio Merinocheck a a 25*13de33a5SJulio Merinocheck b bcd 26*13de33a5SJulio Merinocheck c cd 27*13de33a5SJulio Merinocheck d d 28*13de33a5SJulio Merinocheck e e 29*13de33a5SJulio Merino 30*13de33a5SJulio Merinoif ! (case 1 in 31*13de33a5SJulio Merino 1) false ;& 32*13de33a5SJulio Merino 2) true ;; 33*13de33a5SJulio Merinoesac) then 34*13de33a5SJulio Merino echo "Subshell bad" 35*13de33a5SJulio Merino errors=$((errors + 1)) 36*13de33a5SJulio Merinofi 37*13de33a5SJulio Merino 38*13de33a5SJulio Merinoexit $((errors != 0)) 39