#!/bin/bash for testfile in *.c do filebase=$(basename $testfile | sed 's/\.c$//') compile_def=$(cat <&2 ; test -e ${filebase}.elf ; set +e } EOF ) eval "$compile_def" run_def=$(cat <&2 ; set +e } EOF ) eval "$run_def" done