Hallo Matthias, * Matthias schrieb am 07.06.2003:
[Thomas Preissler]:
Hallo Andreas,
* Andreas schrieb am 06.06.2003:
Tach Leute.
Ich möchte mit Hilfe eines Skripts die Papierkörbe meiner Nutzer leeren. Nun könnte ich für jeden Nutzer eine Zeile anlegen:
cd /home/user1/Desktop/Trash && find . -ctime +5 -exec rm -rf {} \; cd /home/user2/Desktop/Trash && find . -ctime +5 -exec rm -rf {} \;
usw.
Das ist nicht sehr praktisch. Wie kann ich diese Zeile wiederholt ausführen lassen und dabei /home/userX/... der Reihe nach mit allen Usern ersetzen, die im System angelegt sind, und die auch normale Nutzer sind (also nicht root usw.)?
Ungetestet:
del="Desktop/Trash" for home in $(awk -F: '{print $6}' /etc/passwd) ; do
Das dürfte ein wenig zu viele User erwischen und beim Löschen zu Fehlermeldungen führen (Systemuser, root).
Wenn Du quotest, dann aber richtig: del="Desktop/Trash" for home in $(awk -F: '{print $6}' /etc/passwd) ; do [ -d $home/$del ] && find $home/$del -ctime +5 -exec rm -rf {} \; done Das "[ -d ... ]" prüft dies. Grüße, Tom