bash funktion programm ablauf loggen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
ren22

bash funktion programm ablauf loggen

Beitrag von ren22 » 16.09.2014 17:31:17

hallo
ich habe ein kleines script wo eine bash funktion enthalten ist die den return wert prüft ob der voherige process mit "0" sauber beendet wurde,

Code: Alles auswählen

#/bin/bash
URL="\
http://sourceforge.net/projects/bridge/files/bridge/bridge-utils-1.5.tar.gz \
http://www.linuxfromscratch.org/patches/blfs/svn/bridge-utils-1.5-linux_3.8_fix-1.patch\
"
function runthis() {
    "$@"
    local status=$?
    [ $status -ne 0 ] && echo "error with $1" >&2 && exit 0 || echo $status && return $status
}

for WGETDL in $URL;do
    echo "trying to download: -->"$WGETDL
    runthis wget $WGETDL #2>&1 | tee -a $LOGFILE 1>/dev/null 2>&1 && echo "Download Ok" >>$LOGFILE || { echo "Download Error" >>$LOGFILE; exit 0; }
done
das klappt soweit auch ganz gut, aber ich hätte gerne, dass ich auch den programm/prozess ablauf loggen kann ohne das, wie man sieht "auskommentiert ...runthis wget #2>&1 | tee...", man hinter jeden programm/prozess aufruf den log befehl , als solche lange zeile, dahinter schreiben muss, wie kann man das über eine funktion lösen das ich am besten hinter bzw, vor dem systembefehl("/bin/foo") ?

danke

Antworten