qeldroma
19-04-2006, 14:32
Hallo,
ich kämpfe gerade mit einer Schleife, die eine Variable ändern soll.
Leider hat die Variable außerhalb der Schleife wieder ihren Anfangswert. Warum???
Ich exportiere sie doch?
export result=0
ifconfig eth0|grep "RX bytes"|sed -e "s/.*RX.bytes://" -e "s/\ (.*bytes:/\n/" -e "s/.(.*//"|while read line; do
let "result = $result + $line"
echo $result
done
echo $result
---- Ergebnis: ------------------------------------------------
2861275141
6786962392
0
Wie man sieht, wird $result verändert, jedoch nach der Schleife ist es wieder null? Wie mache ich das denn so, das es klappt?
PS: Lasst euch nicht von dem "sed" verwirren, das filtert nur auf zwei Zeilen getrennt die beiden Werte für "RX/TX bytes" heraus, die dann addiert werden sollen.
Grüße, Florian
ich kämpfe gerade mit einer Schleife, die eine Variable ändern soll.
Leider hat die Variable außerhalb der Schleife wieder ihren Anfangswert. Warum???
Ich exportiere sie doch?
export result=0
ifconfig eth0|grep "RX bytes"|sed -e "s/.*RX.bytes://" -e "s/\ (.*bytes:/\n/" -e "s/.(.*//"|while read line; do
let "result = $result + $line"
echo $result
done
echo $result
---- Ergebnis: ------------------------------------------------
2861275141
6786962392
0
Wie man sieht, wird $result verändert, jedoch nach der Schleife ist es wieder null? Wie mache ich das denn so, das es klappt?
PS: Lasst euch nicht von dem "sed" verwirren, das filtert nur auf zwei Zeilen getrennt die beiden Werte für "RX/TX bytes" heraus, die dann addiert werden sollen.
Grüße, Florian