Jan Trippler wrote:
On Son, 22 Sep 2002 at 12:06 (+0200), Markus Kolb wrote:
Das sollte man vielleicht mit in einem zusätzlichen Satz in die manpage von chmod bei der Erklärung von -R aufnehmen. Da steht nämlich eindeutig da: change files and directories recursively und oben: chmod [OPTION]... MODE[,MODE]... FILE Es ist also nichts von einer Einschränkung bei -R von FILE auf Verzeichnisse zu lesen. Den Satz change files and directories recursively versteht man erst wie er gemeint ist, wenn man weiss, wie er gemeint ist ;o)
Ich sehe, Du hast Rekursion verstanden ;-)
Die man-Page ist schon richtig. Du kannst einen chmod -R nur für ein Verzeichnis starten, Rekursion für eine Datei macht ja wenig Sinn, oder? Es ist aber so, dass chmod -R sehr wohl _unterhalb_ des Startverzeichnisses Dateien _und_ Verzeichnisse anpackt. Dein Denkfehler war, dass chmod die Wildcard *.html selbst auflöst (also rekursiv auf alle gefundenen Dateien + Verzeichnisse anwendet).
Wieso ist die manpage richtig? Für FILE kann man im Zusammenhang mit -R nur ein Verzeichnis angeben. Es werden nur alle Dateien geändert, wenn man für FILE ein Verzeichnis angibt. Kurz: chmod -R FILE ist blödsinn und in die manpage gehört zusätzlich rein: chmod -R [OPTION] ... MODE ... DIR Das war übrigens kein Denkfehler, sondern ich habe chmod durch die manpage einfach zu viel zugetraut. Das Problem war auch nicht die Wildcard, sondern dass chmod eben nicht bestimmte Dateien und Verzeichnisse in der Rekursion ändert, sondern nur alle. Also eine rekursive Änderung aller Rechte macht. Es müsste also heissen: change _all_ files and directories recursively Wenn das nicht falsch bzw. lasch dokumentiert wäre, dann hätte ich gar nicht angenommen, dass chmod soetwas kann, wie ich es brauchte und hätte gleich einen anderen Weg versucht.