Am Montag, 13. Februar 2006 00:21 schrieb David Haller:
Hallo,
Am Sun, 12 Feb 2006, Bernd Kloss schrieb:
David Haller <david@dhaller.de> schrieb am 12.02.06 20:47:08:
Am Sun, 12 Feb 2006, Bernd Kloss schrieb:
Christian Boltz <suse@cboltz.de> schrieb am 12.02.06 19:13:06:
[..]
Anschließend kopierst Du ~/Desktop/dein-script.desktop nach /etc/skel/Desktop. Falls das Icon auch für vorhandene User verfügbar sein soll, musst Du es auch in alle ~/Desktop/-Verzeichnisse kopieren.
Das Script selbst muss (und sollte) nicht in den Homeverzeichnissen liegen.
[..]
Das genau ist mein Problem: Das sind ca. 1000 User. Wie bekomme ich diesen Link in alle Desktop-Verzeichisse?
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; }'
Wenn dir die Ausgabe gefaellt kannst du die direkt in die sh pipen:
... }' | sh
Noch Fragen?
1000! Ausrufezeichen, nicht Fakultät, noch nicht! Ich muss das erst mal in Ruhe verdauen.
*hurhur*
Heißt das "pipen in die sh", dass es dann erst wirklich als Befehl ausgeführt wird und davor ist es noch gefahrlose Spielerei?
Genau.
Das obige generiert ein shell-script. Wenn's dir gefaellt kannst du's direkt an die shell verfuettern; ansonsten in ne Datei umleiten "... }' > mach_desktop_links.sh" oder so und das generierte script dann ausfuehren oder z.B. in ein "... }' | less" pipen zum nur mal eben angucken...
Lese und verstehe das generierte shellscript. Lese und verstehe wie ich das script generiere... Und wenn du zu letzterem Fragen hast, nur zu. awk lernt man nicht von jetzt auf gleich.
wäre das hier nicht einfacher? for i in /home/* do [ -d $i ] && [ -d $i/Desktop ] && cp $script $i/Desktop done Mfg, Thomas