Wenn wir eine Datei mit folgendem Inhalt haben:
klaus rechner1 martin rechner3 dieter rechner7
Und wir lassen diese von folgendem Script einlesen und wieder ausgeben (was natürlich recht sinnfrei ist, hier aber nur zur Veranschaulichung dienen soll):
#!/bin/bash for ZEILE in `cat daten` do echo $ZEILE done
Dann kommt sowas raus:
klaus rechner1 martin rechner3 dieter rechner7
Durch die Leerzeichen werden die Daten-Zeilen zerteilt. Damit das nicht passiert, setzt man den „Input Field Separator“ $IFS auf ‚
‚ (Standard ist ein “
„):
#!/bin/bash Newline=$' ' IFS=$Newline for ZEILE in `cat daten` do echo $ZEILE done IFS=
Dann sieht das Ergebnis wie erwartet und gewünscht aus:
klaus rechner1 martin rechner3 dieter rechner7