1#!/bin/bash -eu 2 3GOOD_STATUS=0 4BAD_STATUS=1 5SKIP_STATUS=125 6PROBLEM_STATUS=127 7 8tmp_file=$(mktemp) 9trap "rm -f '${tmp_file}'" EXIT 10grep -v '^ ' "$1" > "${tmp_file}" 11 12if grep -q bad "${tmp_file}"; then 13 exit $BAD_STATUS 14fi 15 16# func_a containing '2' in its top line is BAD 17if grep -q 'func_a.*2' "${tmp_file}"; then 18 exit $BAD_STATUS 19fi 20 21# func_b, func_c, and func_d with even values are bad in conjunction 22if grep -q 'func_b.*4' "${tmp_file}" && \ 23 grep -q 'func_c.*6' "${tmp_file}" && \ 24 grep -q 'func_d.*8' "${tmp_file}"; then 25 exit $BAD_STATUS 26fi 27 28# If none of the BADness conditions are met 29exit $GOOD_STATUS 30