PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Script-Formatierung



birdie
15.03.12, 19:38
Hi,
ich lese in einem Script eine Datei innerhalb einer while-Schleife ein:

while ...
read -a VAR <<EOF
$TEMP
EOF
done

alles ist schön, sieht aber Sch... aus. Ich hätte es gerne so:

while ...

read -a VAR <<EOF
$TEMP
EOFdone


Das Problem macht verständlicherweise das Ende von EOF. Hat jemand eine Idee?

ThorstenHirsch
15.03.12, 19:57
Aber du liest doch gar keine Datei ein, sondern von stdin eine Benutzereingabe.

DrunkenFreak
15.03.12, 20:05
Setze EOF an den Anfang der Zeile oder mach hinter << das gleiche Zeichen wie vor EOF.

birdie
16.03.12, 08:28
Erstmal danke und ja ich lese keine Datei sondern eine Variable ein, mein Fehler.

@DrunkenFreak: Meinst du, dass ich zwischen << und dem ersten EOF einen <tab> machen muss? Hab ich gemacht, ging aber auch nicht.

Ich habe aber eine andere Lösung gefunden:

while ...

read -a VAR <<- EOF
$TEMP
EOFdone

Efraim
16.03.12, 21:41
Irgendwie begreife ich gar nicht, dass Du ein Heredoc benutzt, um eine Variable in ein Array zu schreiben. Reicht nicht
VAR=($TEMP)?