Hallo,
wie kann ich einer Bourne-Shel-Funktion eine Zeichenkette übergeben?
Mein Programm:
# Schreibt die Daten in Logfile
#
# $1: Markierung (z.B. === B === )
# $2: Zeilennummer
# $3: Meldung
# $4: Logfile-Name
# $5: Aktivierung-Flag zum Loggen
#
log_this () {
# Parameter checken {
#
if [ -z $1 -o -z $2 -o -z $3 -o -z $4 -o -z $5 ]; then
print ">>> $1"
print ">>> $2"
print ">>> $3"
print ">>> $4"
print ">>> $5"
else
print "::: $1"
print "::: $2"
print "::: $3"
print "::: $4"
print "::: $5"
# Loggen, falls aktiv ist {
#
if [ $5 >= 1 ]; then
print "$1: [$2] $3" >> $4
fi
#
# Loggen, falls aktiv ist }
fi
#
# Parameter checken }
return
}
Ich übergebe Parameter:
# $STRIPLINE: "== LOG =="
# $LINENO: Aktuelle Zeilennummer
# $RetVal: Eine Zahl
# $FILE_BACKUP_LOG: "logile.log"
# $LOG: 1
#
log_this $STRIPLINE $LINENO $RetVal $FILE_BACKUP_LOG $LOG
Es kommt leider in der Zeile, wo ich die Funktion aufrufe die Fehlermeldung:
[: 1: unexpected operator/operand
Danke für die Tipps.