X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=logmail;h=ba36a9e6431bf27ea04d136b612a43e63deb06cf;hb=refs%2Fheads%2Fmaster;hp=4aad395591d9f123072ef545e7d25f5cce937d53;hpb=ea9d543d812b5ec13d4d3c6b424626f3afaaa5dc;p=log-quiet diff --git a/logmail b/logmail index 4aad395..ba36a9e 100755 --- a/logmail +++ b/logmail @@ -1,5 +1,12 @@ #!/bin/bash -# Copyright (C) 2016 Ian Kelling +# I, Ian Kelling, follow the GNU license recommendations at +# https://www.gnu.org/licenses/license-recommendations.en.html. They +# recommend that small programs, < 300 lines, be licensed under the +# Apache License 2.0. This file contains or is part of one or more small +# programs. If a small program grows beyond 300 lines, I plan to switch +# its license to GPL. + +# Copyright 2024 Ian Kelling # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,19 +20,24 @@ # See the License for the specific language governing permissions and # limitations under the License. + case $1 in -h|--help) cat <<'EOF' usage: logmail CMD [ARGS...] Send mail in case of output or failure of CMD + +Emails to $MAILTO or if unset, $USER@localhost EOF exit 0 ;; esac t=$(mktemp) -if ! "$@" &>"$t" || [[ ! -s $t ]]; then - mail -s "$HOSTNAME: $*" $USER@localhost <"$t" +code=0 +"$@" &>"$t" || code=$? +if (( code )) || [[ -s $t ]]; then + mail -s "$HOSTNAME: code: $code cmd: $*" $mailto <"$t" rm "$t" fi exit 0