T=$(mktemp -d) trap 'rm -rf "$T"' EXIT mkdir "$T/somedir" echo data >"$T/somefile" # cf ARGS: run checkfiles.sh in $T; output in $T/out, lowercase; exit status. cf() { (cd "$T" && /root/checkfiles.sh "$@" >"$T/out.raw" 2>&1); local r=$?; tr A-Z a-z <"$T/out.raw" >"$T/out"; return $r; } line_for() { grep -E "(^|[^a-z0-9_.-])$1([^a-z0-9_.-]|$)" "$T/out"; } # svc ARG: service.sh's output, lowercase. svc() { timeout 10 /root/service.sh "$@" 2>&1