Luke
Ich habe eine kurze Frage zu diesem String. find /home/name/ -user name -exec rm{} \; -print ^^^ Wozu steht hier "\;"?
Das Kommando find akzeptiert hinter -exec ein Kommando, das eine beliebige Anzahl von Argumenten enthalten darf. Da danach noch weitere Argumente fuer find selbst folgen koennen (in Deinem Fall -print), muss irgendwie gekennzeichnet werden, wo der -exec-Teil aufhoert. Dazu erwartet find ein einzelnes ';' als Argument. Nun hat allerdings die Shell ihre eigenen Vorstellungen, wozu ein Semikolon zu gebrauchen ist: Es kennzeichnet auch fuer die Shell das Ende eines Kommandos und ermoeglicht es so, mehrere Kommandos in einer Zeile zu schreiben. Bei einem einfachen ';' wuerden also von der Shell die folgenden Kommandos ausgefuehrt: find /home/name/ -user name -exec rm {} -print Pech: Das erste funktioniert nicht, weil ihm ein ';' zum -exec fehlt, das zweite gibt's gar nicht erst. Also tut man noch einen '\' vor das ';', der verhindert, dass das Semikolon von der Shell interpretiert wird, so dass diese dann das Semikolon ohne Backslash an find weitergibt. Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org - eilert@linuxfreak.com http://www.informatik.uni-bremen.de/~eilert/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com