Frage bei For-Schleife

D

Das C

Jungspund
Ich habe eine Variable namens proj_list, in denen verschiedene Werte gespeichert sind. Nun habe ich folgende Frage:
Was ist der Unterschied zwischen den unten aufgeführten Varianten?

1. Variante

for proj in $(echo $proj_list)
do
echo $proj
done

2. Variante

for proj in $proj_list
do
echo $proj
done
 
Zuletzt bearbeitet:
???
Wo ist die zweite Variante?
Gruß, Georg
 
Hallo
Jetzt, nachdem du den Salat editiert hast, wird eine Frage draus. ;)
Beide Varianten machen das Gleiche, wobei die Variante 1 useless use of echo, also überflüssig ist.
Das trifft aber nur dann zu, wenn der String eine Zeichenkette durch IFS getrennte Werte enthält.
Üblicherweise nimmt man dazu aber Arrayvariablen?
$ A=(wert1 wert2 wert3);
$ for I in ${A[*]}; do echo $I; done
wert1
wert2
wert3

Weiter Infos sagt dir die Manpage der Bash /Ksh oder was du verwendest.

Gruß Wolfgang
 
Wobei der Coding-Style auf Grund von leserlichkeit sein sollte wie bei Wolfgang.

Also Variablen immer:
Code:
${foo}
schreiben.

Nur so als kleine Anmerkung.

MFG manuel
 
caba schrieb:
Wobei der Coding-Style auf Grund von leserlichkeit sein sollte wie bei Wolfgang.

Also Variablen immer:
Code:
${foo}
schreiben.

Nur so als kleine Anmerkung.

MFG manuel

Wolfgang nutzte das {} in ${A[*]} nicht wegen der Leserlichkeit, sondern weil es sonst nicht funktionieren würde. ;)
 
Sicher, aber ich habe ja ein beispiel gemacht...
Code:
echo ${foo}
...sollte man sich gleich von Anfang an angewöhnen.

MFG Manuel
 

Ähnliche Themen

Switche abfragen über Script

Anweisungen innerhalb Until-Schleife

Verschlüsseltes Backup-Script mit rsync

Variable mit 'tr' ändern

Grafische Anzeige der Temperatur

Zurück
Oben