grep match check stdout bash
function pass_on() { echo $2; if [[ "$2" == *"$1"* ]]; then return ${3:-0}; return ${4:-1}; fi; };
# To be used on pipelines, to check for specific output pattern, don't filter stdout and return corresponding exit code for
# another processing
# TODO: use regexp, kind of (AA|BB|CC) as input query
# TODO: do it without /bin/bash ?
function fail_on() { echo $2; if [[ "$2" == *"$1"* ]]; then return 1; return 0; fi; };
# usage
fail_on "already exist" $({{ curl_command }} -s -S -POST "{{ auth_url }}" --data-urlencode "q=CREATE {{ query_continuous_query }}") \
|| \
fail_on "error" $({{ curl_command }} -s -S -POST "{{ auth_url }}" --data-urlencode $'q=DROP {{ cq_name_on }};\nCREATE {{ query_continuous_query }}')