Beitrag
von cateye » 01.07.2006 22:53:49
Hi,
ich hab folgendes kleines Übungsskript geschrieben:
Code: Alles auswählen
#./bin/bash
tmpfile="/tmp/erg"
ls $1 > $tmpfile
ls $2 >> $tmpfile
echo "Die Verzeichnisse $1 und $2 enthalten `wc -l $tmpfile` Dateien!"
rm $tmpfile
exit 0
Das Skript soll also nur die Zeilen der Ausgabe von "ls" und somit die Anzahl der Dateien in den Verzeichnissen zählen. Beim Ausführen übergebe ich dafür als Parameter z.B. die Verzeichnisse /usr/bin und /usr/local
Als Ausgabe kommt dann aber:
Code: Alles auswählen
Die Verzeichnisse /usr/bin und /usr/local enthalten 1435 /tmp/erg
Dateien!
Das '/tmp/erg' aus der Variablen 'tmpfile' wird also noch mitgeliefert, obwohl 'echo' nur das Ergebnis von `wc -l $tmpfile` und nicht $tmpfile direkt übergeben wird.
Wo kann hier der Fehler liegen?
CU
Cateye
AMD64-X2-4800+, Abit Fatal1ty AN8 SLI, 2x512MB Kingston HyperX 2-2-2-5-1T (KHX3200ULK2/1G), Geforce7600GT PCIe, Monitor: BenQ FP91V, Samsung P120 SP2504C (SATAII), LG GSA-4167B, Enermax ELT400AWT, Debian 3.1 mit allen Updates, Kernel 2.6.8-3-686-smp