[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Shell-Script-Ausgabe per Mail verschicken



Bin absolut programmier-blond :-(

Na, so sah das aber nicht aus im Skript.

Erwischt ;-)

Das Script hat mir jemand gebastelt ..., wirklich, ich bin absolut
"hellblond".

Fehlermeldung:
/Scripte/test11: line 35: unexpected EOF while looking for matching `"'

Line 35 wäre:
echo  "Total bandwidth for $domain  is $sum MB""| mailx -s test bla@gmx.de"

Was wird gesucht: ' oder " oder ` ??

Ich hasse bash ;-)

Unten nochmal das angepasste Script.

Gruß
A.

#!/bin/bash
set -e
    export LC_ALL=C
    test -t 1 || exec &> >(mail -s "$SUBJECT" "${RECIPIENTS[@]")
#analyse_log_24Std [logdatei]
#analyse_log_24Std [logdatei] [von] [bis]
declare -A ALIASE
ALIASE['test1']="bla.bub-access.log"
log_path="/var/customers/logs/"

log_file=$1
von=$2
bis=$3

if [ ${ALIASE[$log_file]+_} ]; then log_file="${ALIASE[$log_file]}" ; fi

domains=`awk '{print substr($4, 2, 11)}' $log_path$log_file | sort | uniq`

for domain in $domains
do
# echo "$domain"
if [ -z "$von" ] && [ -z "$bis" ]
then
        sum=$(grep "$domain" $log_path$log_file | awk
'{SUM+=$10}END{print SUM/1024/1024}')
else
        jahr=${domain:7:4}
        sum=$(grep "$domain" $log_path$log_file | sed -rne
"/$jahr\:$von\:/,/$jahr\:$bis\:/ p" | awk '{SUM+=$10}END{print
SUM/1024/1024}')
#       echo $sum
fi

echo  "Total bandwidth for $domain  is $sum MB""| mailx -s test bla@gmx.de"
done


Am 03.04.2020 um 13:41 schrieb Heiko Schlittermann:
A. Söldner <asoeldner@gmx.de> (Fr 03 Apr 2020 13:33:20 CEST):
An welcher Stelle muss ich dein Code einfügen?
Ich würde es an den Anfang tun.

     #!/bin/bash

     set -e
     export LC_ALL=C

     test -t 1 || exec &> >(mail -s "$SUBJECT" "${RECIPIENTS[@]")

Absichtlich das setup der Mail *vor* dem set -e

Bin absolut programmier-blond :-(
Na, so sah das aber nicht aus im Skript.

--
Heiko


Reply to: