worker
König
Hi Leute,
habe hier nen prob. mit nem Script und komme seit Stunden nicht mehr weiter...
Terminal Eingabe:
"./syslog_output.sh fail error irgendwas"
Ausgabe ist:
"Schreibe: cat /var/log | tail -n "100" | grep -i "fail\|error\|" nach ./syslog_temp.txt ..."
Frage: Warum ignoriert CASE den dritten Parameter ?
Wenn ich insgesammt 5 Parameter übergebe, so bekomme ich in der Ausgabe, alle Parameter bis einsch. "irgendetwas" ausgegeben - die zwei restlichen Parameter werden ebenfalls "verschluckt".
Bitte um Erleuchtung, ich bin mit meinem Latein am Ende .
Thx & Gruß
W.
habe hier nen prob. mit nem Script und komme seit Stunden nicht mehr weiter...
Code:
BEFEHL="cat $QUELLE | tail -n \"$ZEILEN\" | grep -i \""
if [ "$#" -ne "0" ]; then
declare -i x=1
while [ $x -le $# ]
do
case "$1" in
"fail") BEFEHL_TMP="$BEFEHL""fail"
BEFEHL=$BEFEHL_TMP
;;
"error") BEFEHL_TMP="$BEFEHL""error"
BEFEHL="$BEFEHL_TMP"
;;
*) BEFEHL_TMP="$BEFEHL""$1"
BEFEHL="$BEFEHL_TMP"
;;
esac
if [ $x -le $# ]; then
BEFEHL_TMP="$BEFEHL"
BEFEHL="$BEFEHL_TMP\|"
fi
shift
x=x+1
done
BEFEHL_TMP="$BEFEHL"
BEFEHL="$BEFEHL_TMP\""
echo "Schreibe: $BEFEHL nach $ZIEL_DATEI ..."
Terminal Eingabe:
"./syslog_output.sh fail error irgendwas"
Ausgabe ist:
"Schreibe: cat /var/log | tail -n "100" | grep -i "fail\|error\|" nach ./syslog_temp.txt ..."
Frage: Warum ignoriert CASE den dritten Parameter ?
Wenn ich insgesammt 5 Parameter übergebe, so bekomme ich in der Ausgabe, alle Parameter bis einsch. "irgendetwas" ausgegeben - die zwei restlichen Parameter werden ebenfalls "verschluckt".
Bitte um Erleuchtung, ich bin mit meinem Latein am Ende .
Thx & Gruß
W.