Hallo! Am Mittwoch, 6. April 2005 08:23 schrieb Juerg Schneider:
Das sind die im Script verwendeten Variablen. Der Backslash im Folgenden ist die Anweisung die Zeile fortzusetzen. Zwischen 'do' und 'done' ist also alles auf einer Zeile. Die Schleife wird zweimal durchlaufen, mit den Einträgen 'eth0' und 'eth1' in der Variable $i.
Das habe ich mir schon gedacht, aber jetzt weiß ich es.
ifconfig $i 2>/dev/null | \
Eventuelle Fehler werden fortgeworfen (2>/dev/null, 2 = stderr, im Gegesatz zu 1 oder nichts = stdout, die normale Ausgabe). Also die normale Ausgabe des Befehls 'ifconfig' mit den Interfaces als Argument werden nach dem Befehl 'grep' gepipt.
Das ist auch sehr hilfreich, jetzt verstehe ich die 2 und 1 endlich.
grep -q $WLANMAC && WLANIFACE="$i"
Falls der Returnwert von grep wahr ist (grep hat den Inhalt von $WLANMAC gefunden) wird die Variable $WLANIFACE mit "$i" gefüllt (das Gegenteil wäre '||', also bei unwahrem Returnwert).
Das hat mich wohl am meisten irritiert, && heißt ja sonst und, hier aber wenn-wahr, || normalerweise oder, hier aber wenn-falsch, wieder was gelernt.
http://www.linux-ag.de/linux/LHB/node26.html#SECTION00440000000000000000 http://www.tu-chemnitz.de/urz/kurse/unterlagen/shell-progr/bourne/bourne.ht ml http://en.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html http://tldp.org/LDP/abs/html/
Vielen Dank, die werde ich mir nochmal zu Gemüte führen, damit ich mehr verstehe und das Skript vielleicht nochein bisschen ausbauen. Sven