mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* remove unneeded semi-colons at end of line * fix SC2206: Quote to prevent word splitting/globbing * fix SC2164: Use 'cd ... || exit' in case cd fails * fix SC2004: $/${} is unnecessary on arithmetic variables. * fix SC2155: Declare and assign separately to avoid masking return values. * fix SC2124: Assigning an array to a string! Assign as array, or use * instead of @ to concatenate. * fix SC2059: Don't use variables in the printf format string. Use printf "..%s.." "$foo". * fix SC2076: Don't quote rhs of =~, it'll match literally rather than as a regex. * fix SC1090: Can't follow non-constant source. Use a directive to specify location. * fix SC2166: Prefer [ p ] || [ q ] as [ p -o q ] is not well defined. * SC2223: This default assignment may cause DoS due to globbing. Quote it. * fix SC2164: Use 'cd ... || exit' or 'cd ... || return' in case cd fails. * fix SC1117: Backslash is literal in "\n". Prefer explicit escaping: "\\n" * better handling of branch comapre * add missing local ver_73 from merge * remove duplicate definition
49 lines
880 B
Bash
Executable File
49 lines
880 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Cronic v2 - cron job report wrapper
|
|
# Copyright 2007 Chuck Houpt. No rights reserved, whatsoever.
|
|
# Public Domain CC0: http://creativecommons.org/publicdomain/zero/1.0/
|
|
|
|
set -eu
|
|
|
|
OUT=/tmp/cronic.out.$$
|
|
ERR=/tmp/cronic.err.$$
|
|
TRACE=/tmp/cronic.trace.$$
|
|
|
|
set +e
|
|
"$@" >$OUT 2>$TRACE
|
|
RESULT=$?
|
|
set -e
|
|
|
|
PATTERN="^${PS4:0:1}\\+${PS4:1}"
|
|
if grep -aq "$PATTERN" $TRACE
|
|
then
|
|
! grep -av "$PATTERN" $TRACE > $ERR
|
|
else
|
|
ERR=$TRACE
|
|
fi
|
|
|
|
if [ $RESULT -ne 0 ] || [ -s "$ERR" ]
|
|
then
|
|
echo "Cronic detected failure or error output for the command:"
|
|
echo "$@"
|
|
echo
|
|
echo "RESULT CODE: $RESULT"
|
|
echo
|
|
echo "ERROR OUTPUT:"
|
|
cat "$ERR"
|
|
echo
|
|
echo "STANDARD OUTPUT:"
|
|
cat "$OUT"
|
|
if [ $TRACE != $ERR ]
|
|
then
|
|
echo
|
|
echo "TRACE-ERROR OUTPUT:"
|
|
cat "$TRACE"
|
|
fi
|
|
fi
|
|
|
|
rm -f "$OUT"
|
|
rm -f "$ERR"
|
|
rm -f "$TRACE"
|