epcim
1/4/2018 - 9:29 PM

grep match check stdout bash

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 }}')