Hello Martin, Friday, August 9, 2002, 1:57:53 PM, you wrote:
SMDSC> http://www.mail-archive.com/[email protected]/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

