2016-04-20 8 views
2

Ich habe die Funktion FileUtils.chmod_R verwendet, um rekursiv Dateien und Verzeichnisse Berechtigungen unter einem bestimmten Pfad zu ändern, aber jetzt nur die Dateiberechtigungen ändern und die Verzeichnisse so belassen wie sie sind . Wenn ich auf die man-Seite für diese Funktion schaue, kann ich nicht sehen, wie das geht, und ich würde es vorziehen, dies nicht mit einem Bash-Skript zu tun. Kann mir bitte jemand sagen, ob das mit der FileUtils.chmod_R Funktion möglich ist oder müsste ich zusätzlichen Code schreiben um jede Datei, die unter einem bestimmten Pfad existiert (rekursiv) zu durchlaufen und dann FileUtils.chmod an die Wunscherlaubnis? Ich bin ein Ruby-Neuling also bitte zeigen Sie mir irgendwo, wenn ich etwas offensichtliches frageWie rekursiv Dateiberechtigungen nur in einem Ruby-Skript geändert werden

Antwort

1

Sie könnten etwas wie unten tun - das wird die Berechtigungen der Liste der Dateien von Dir.glob übereinstimmen ändern.

FileUtils.chmod 0400, Dir.glob('/path/to/dir/**/*') 

Wie in this thread erwähnt,

Dir.glob("**/*/") # will return list of all directories 
Dir.glob("**/*") # will return list of all files 
+0

Dank der für mich gearbeitet. In der Zwischenzeit bin ich gegangen und habe eine Definition dafür geschrieben, aber Dir.glob speichert einige Codezeilen! – adamjth

Verwandte Themen