Am Montag, 13. Februar 2006 21:26 schrieb David Haller:
Hallo,
Am Mon, 13 Feb 2006, Thomas Gräber schrieb:
Am Montag, 13. Februar 2006 00:21 schrieb David Haller:
Am Sun, 12 Feb 2006, Bernd Kloss schrieb:
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; }'
[..]
wäre das hier nicht einfacher?
Jein.
for i in /home/* do [ -d $i ] && [ -d $i/Desktop ] && cp $script $i/Desktop done
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` do [ -d '$i/Desktop' ] && cp $script '$i/Desktop' done rm temp.txt ist bestimmt auch verbesserungsfähig, aber ich denke, es sollte seinen Zweck erfüllen, sofern die Verzeichnisse der aktiven User auch unter /home liegen. Mfg, Thomas