14 Feb
2006
14 Feb
'06
18:03
Hallo, Am Tue, 14 Feb 2006, Thomas Gräber schrieb: >Am Montag, 13. Februar 2006 21:26 schrieb David Haller: [..] >> >> >David Haller <david@dhaller.de> schrieb am 12.02.06 20:47:08: >> >> >> getent passwd | awk -F':' ' >> >> >> BEGIN { T="/etc/skel/Desktop/dein-script.desktop"; } >> >> >> $7 ~ /sh/ && $6 ~ /\/home\/.+/{ >> >> >> d=$6"/Desktop"; >> >> >> printf "test -d \"%s\" || mkdir -p \"%s\" && \ >> >> >> install -m 600 -o %i -g %i \"%s\" \"%s/\"\n", >> >> >> d, d, $3, $4, T, d; >> >> >> }' [..] >> 1. Du quotest die Variablen nicht. >> 2. es werden nur aktive und existente Accounts verwendet, egal was >> sonst noch in /home/ rumfaehrt. > >Ok, dann evtl. so: > >for i in `cat /etc/passwd` >do > OLDIFS=$IFS;IFS=:;echo '$i' | awk '{printf($5 "\n");}' > IFS=$OLDIFS >done | grep '/home' >>temp.txt >for i in `cat temp.txt` Useless use of cat und du schreibst cut -d':' -f6 /etc/passwd | grep '/home/' | while read i bzw. eleganter: awk -F':' '/\/home\//{print $6;}' /etc/passwd | while read i sehr umstaendlich. >do > [ -d '$i/Desktop' ] && cp $script '$i/Desktop' >done >rm temp.txt Und wie passt du die Rechte an? Und wo filterst du die User aus, die zwar ein /home/ aber keine shell haben? >ist bestimmt auch verbesserungsfähig, aber ich denke, es sollte seinen Zweck >erfüllen, sofern die Verzeichnisse der aktiven User auch unter /home liegen. Siehe oben. -dnh -- > Quatsch. Ich will ein Internet ohne Werbemüll. Und ohne AOL. AOL! -- R. Schwentker und M. Karcher