Ich habe folgendes Skipt geschrieben, um allen Dateien (ausser Directories) in einem Directory die Defaultpermissions 644 zu geben:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
for file in $(ls -1); do if [ ! -d "$file" ]; then chmod 644 "$file"; fi; done
</font><hr></pre></blockquote>
Wie kann ich nun dieses Skript anpassen, dass sämtliche Dateien in allen Unterverzeichnissen bearbeitet werden. Mit $(ls -1R) geht es leider nicht, dies gibt nicht den effektiven Path der Datei.
Vielen Dank,
Thomas
Bash-Skript zum Ändern von Permissions
Re: Bash-Skript zum Ändern von Permissions
Das geht so<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">find . -type f -exec chmod 644 "{}" ";"</font><hr></pre></blockquote>, wenn Du Dich im Verzeichnis befindest, wo die Files und die Subdirs liegen.
Cheers
Michael
Cheers
Michael
Re: Bash-Skript zum Ändern von Permissions
Danke fuer deine Antwort, aber da scheint etwas nicht zu stimmen, auch Directories bekommen dann 644 als Permissions. Mit
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>
kann es aber wieder rueckgaengig gemacht werden. Koennte es evtl. mit xargs und einem Test auf Bash-Basis
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>
funktionieren?
Danke,
Thomas
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>
kann es aber wieder rueckgaengig gemacht werden. Koennte es evtl. mit xargs und einem Test auf Bash-Basis
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 "{}" ";"
</font><hr></pre></blockquote>
funktionieren?
Danke,
Thomas
Re: Bash-Skript zum Ändern von Permissions
das geht doch so:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 {} \<!--no-->;
oder falls der Pfad/Dateiname vielleicht auch Leerzeichen enthalten könnte:
find . -type d -print0 | xargs -0 chmod 0755
</font><hr></pre></blockquote>
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find . -type d -exec chmod 755 {} \<!--no-->;
oder falls der Pfad/Dateiname vielleicht auch Leerzeichen enthalten könnte:
find . -type d -print0 | xargs -0 chmod 0755
</font><hr></pre></blockquote>
Re: Bash-Skript zum Ändern von Permissions
> Danke fuer deine Antwort, aber da scheint etwas nicht zu stimmen, auch Directories bekommen dann 644 als Permissions
Ich denke, Du hast Dich vielleicht vertippt?... Michael hat Dir nämlich das korrekte Kommando gegeben:<pre>find . -type f -exec chmod 644 {} \<!--no-->;</pre>Wenn man den Rechner etwas schonen will, kann man es auch mit xargs machen, wie Descartes gepostet hat:<pre>find . -type f -print0 | xargs -0 chmod 644</pre>
Jochen
Ich denke, Du hast Dich vielleicht vertippt?... Michael hat Dir nämlich das korrekte Kommando gegeben:<pre>find . -type f -exec chmod 644 {} \<!--no-->;</pre>Wenn man den Rechner etwas schonen will, kann man es auch mit xargs machen, wie Descartes gepostet hat:<pre>find . -type f -print0 | xargs -0 chmod 644</pre>
Jochen
Re: Bash-Skript zum Ändern von Permissions
Danke, mit xargs klappt es. Ich glaube das Problem war, dass die Pfade zum Teil Sonder- und Leerzeichen beeinhalten.
Gruss,
Thomas
Gruss,
Thomas