#!/bin/bash EXIT_CODE=0 run_test() { echo -n " $1" out_tmp="$(mktemp)" ./ex24_iofunctions$1 < "$2" > "$out_tmp" diff_out="$(mktemp)" diff -u "$3" "$out_tmp" > "$diff_out" diff_count="$(cat "$diff_out" | wc -l)" if [[ "$?" == "0" ]] && [[ "$diff_count" == "0" ]] then echo " ... OK" else echo " ... FAIL" echo " diff count => $diff_count" cat "$diff_out" EXIT_CODE=1 fi rm -f "$2" "$out_tmp" "$diff_out" } tmp_01="$(mktemp)" cat > "$tmp_01" < "$expected_01" < > Read in: a=2 b=8 c=n EOF tmp_02="$(mktemp)" tmp_02in="$(mktemp)" cat > "$tmp_02in" < "$tmp_02" < "$expected_02" < Reading from file: Read in: a=1 b=4 c=a EOF run_test '01' "$tmp_01" "$expected_01" run_test '02' "$tmp_02" "$expected_02" exit $EXIT_CODE