diff --git a/ENV b/ENV index cdea07a..79a07fd 100755 --- a/ENV +++ b/ENV @@ -4,11 +4,13 @@ varName="servicedesc" varDefault="" -myDelim="[ :-]" +myDelim="[ :]" myField="" myHost="" myService="" myContact="" +myString="" +doNumber="" doLower="" doUpper="" doVerbose="" @@ -18,7 +20,7 @@ do_help() { cat << HELP_EOF This utility is designed to be called by the ARGx parameters of a Nagios configuration as one of the following: - \$\$(\$USER1\$/env [-n ] [-t ] [-f ] [-d ] [-u] [-H|-S|-C ] [-v] + \$\$(\$USER1\$/env [-n ] [-t ] [-f ] [-d ] [-s ] [-u|-l] [-H|-S|-C ] [-v] \$\$(\$USER1\$/env -N [-H suffix] @@ -27,11 +29,13 @@ Where: var the name of a case-insensitive NAGIOS_variable (defaults to "servicedesc") default a default value if \$NAGIOS_var\$ is blank (case sensitive) field an awk-compatible field number (potentially to use with ) - delim an awk-compatible field delimiter (defaults to space, dash, and colon) + delim an awk-compatible field delimiter (defaults to space and colon) -u Convert the output to uppercase -l Convert the output to lowercase suffix Take var result and use the it to get NAGIOS__[HOST|SERVICE|CONTACT] -v Be verbose (only for debugging) + -s The result must match this value or else it will return blank + --num The result will have all non-numbers stripped from it -N Look for NAGIOS__HOSTNCPA (defaults to TOKEN) Can do double lookup if -H is specified directly: -H TOKEN will find NAGIOS__HOSTNCPATOKEN=Level1 which then finds NAGIOS__HOSTLEVEL1TOKEN=Secret Or -H PASS will find NAGIOS__HOSTNCPAPASS=Level2 which will then find NAGIOS__HOSTLEVEL2PASS=SuperSecret @@ -70,6 +74,8 @@ while [ -n "$1" ]; do -H) myHost="$2"; shift 2;; -S) myService="$2"; shift 2;; -C) myContact="$2"; shift 2;; + -s) myString="$2"; shift 2;; + --num) doNumber="true"; shift 1;; -N) doNCPA="true"; shift 1;; -u) doUpper="true"; shift 1;; -l) doLower="true"; shift 1;; @@ -127,6 +133,9 @@ if [ -n "$myContact" ]; then varValue=${!myContact} fi +[ -n "$myString" -a "$myString" != "$varValue" ] && varValue="" +[ -n "$doNumber" ] && varValue=`echo $varValue | tr -d -c "0-9"` + [ -z "$varValue" ] && varValue="$varDefault" echo "$varValue"