Am Sam, 09 Jan 1999 schrieb Hermann Kaiser:
Hallo Gerhard,
Ich bin zwar nicht Gerhard, aber ich antworte mal.
wo Du recht hast, hast Du recht! Ich habs gerade mal ausprobiert, funktioniert so nicht! Ich habs allerdings unter einer SuSE 5.3 vorher versucht und es hat geklappt! Tut es auch immer noch? Gerade noch mal weiter getestet, auf einem Rechner klappt es auf dem anderen nicht ( beide SuSE 5.3 )??? Woran liegt das?
aber so sollte es doch dann auf jeden Fall klappen: find / -name "*.mp3" 2> /dev/null
Hallo Hermann, Du möchstest den Shell-Ersetzungmechanismus verstehen lernen. Die Shell ersetzt *name* durch alle Dateinamen des aktuellen Verzeichnisses in denen die Buchstabenkombination name vorkommt. Wenn Du ein file namens test.mp3 in Deinem Verzeichnis hast, so ersetzt die Shell *.mp3 durch test.mp3 und ruft dann den Befehl find / -name test.mp3 auf, und lenkt die Fehlermeldungen um. Befinden sich in Deinem Verzeichnis aber die beiden Dateien t.mp3 und test.mp3, so ersetzt die Shell obige Komandozeile durch find / -name t.mp3 test.mp3 was zu einer Fehlermeldung führt. Wenn Du das Argument quotest, so nimmt die Shell nur die Quoten weg, und übergibt die Argumente so wie sie sind dem Programm, das daraus nun was machen kann/muß. Um es noch einmal klar zu sagen, das Programm merkt nichts von dem Ersetzungsmechanismus. Das Unterschiedliche Verhalten bei Dir ist wahrscheinlich darauf zurückzuführen, daß Du in ander Verzeichisse warst. Bitte schau Dir die unterschiedlichen Bedeutung von \ und ",' sowie ` an. Wobei letzteres kein quoten ist. cu Bernd -- Bernd Brodeßer Mönchengladbach B.Brodesser@online-club.de -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux