Hello Martin,

Friday, August 9, 2002, 1:57:53 PM, you wrote:


SMDSC> http://www.mail-archive.com/talk@pug.org/msg05629.html

SMDSC> Nun erklär mir doch mal, was das Ding genau macht. Ich habe es nämlich
SMDSC> gerade für einen Anwendungsfall adaptiert, wo ich nicht mit awk-Prozessen um
SMDSC> mich schmeißen will, aber ich schnalle einfach nicht, was da um die Zeile
SMDSC> "set -- $zeile" herum passiert.

> #!/bin/sh
> 
> IFS=""

Weil z.B. im Kommentar-Feld Sachen auftauchen könnten, die leerzeichen
enthalten (ich habe hier z.B. grundsätzlich meinen Namen drin)

> while read zeile; do

liest zeile für zeile ein (aus /etc/passwd)

>       IFS=":"

Doppelpunkt gilt absofort als Trennzeichen auch auf Shell Ebene, in
der passwd-Datei ist dies ja grundsätzlich so.

>       set -- $zeile

Teilt nun $1, $2, $3, ..., $n jeweils das aktuelle Item aus der Datei
zu (*!!!* bedenke IFS=':' )

>       IFS=""

für nächsten Durchlauf

>       echo "User: $1"
>       echo "UID: $2"

mhm, müste eigentlich $3 sein ... mhm

>       echo "GID: $3"

mhm, müste eigentlich $4 sein ... mhm

>       echo "Gecos: $4"

mhm, müste eigentlich $5 sein ... mhm

>       echo "Home: $5"

mhm, müste eigentlich $6 sein ... mhm

>       echo "Shell: $5"

mhm, müste eigentlich $7 sein ... mhm

>       echo "Length: ${#zeile}"

Paramater Substitution, gibt Länge der Variable `zeile' zurück.

> done < /etc/passwd


--
cheers,
  Tobias

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an