1#!/bin/bash 2 3set -e 4 5STRINGS=$(mktemp) 6ERRORS=$(mktemp) 7 8trap 'rm $STRINGS; rm $ERRORS;' EXIT 9 10FILE=$1 11shift 1 12 13while getopts "f:e:" opt; do 14 case $opt in 15 f) echo "$OPTARG" >> "$STRINGS";; 16 e) echo "$OPTARG" >> "$STRINGS" ; echo "$OPTARG" >> "$ERRORS";; 17 *) exit 18 esac 19done 20shift $((OPTIND -1)) 21 22echo "Waiting for $FILE to say one of following strings" 23cat "$STRINGS" 24 25while ! grep -E -wf "$STRINGS" "$FILE"; do 26 sleep 2 27done 28 29if grep -E -wf "$ERRORS" "$FILE"; then 30 exit 1 31fi 32