For Schleife-Problemchen

R

Robby-TX5

Grünschnabel
Moin,

mein Problemchen ist wahrscheinlich gar keins, aber dennoch habe ich einen Knoten im Hirn und komme nicht auf die Lösung.

Also einfache for schleife

Code:
for i in {1 .. 4 }; do echo $i; done
1
2
3
4

jetzt soll der zweite Wert durch eine Variable "a" ersetzt werden. Ich habe folgendes probiert, nur das funktioniert nicht (habe da schon diverse Variantionen durchprobiert).

Code:
for i in {1 .. $(echo $a)}; do echo $i; done
{1..4}

Danke für die Hilfe.

Robby
 
Für die Bash funktioniert diese Variante:
Code:
for ((i=1; i<=a; i++)); do echo $i; done
 
Die ".." sind keine bash-syntax. Die richtige Syntax waere (ausser der von L0s3r angegebenen)
Code:
for i in 1 2 3 4; do ...
Fuer laengere Sequenzen kannst Du auch 'seq' benutzen:
Code:
for i in $(seq 4); do ...
[edit]
Merke gerade (an einem anderen Post von L0s3r), dass es '..' in bash doch gibt. Immerhin funktioniert es mit 'seq' auch mit einer Variablen.
 
Zuletzt bearbeitet:
Die ".." sind keine bash-syntax. Die richtige Syntax waere (ausser der von L0s3r angegebenen)
Code:
for i in 1 2 3 4; do ...
Fuer laengere Sequenzen kannst Du auch 'seq' benutzen:
Code:
for i in $(seq 4); do ...
[edit]
Merke gerade (an einem anderen Post von L0s3r), dass es '..' in bash doch gibt. Immerhin funktioniert es mit 'seq' auch mit einer Variablen.

Danke für den Tipp. Aber auch seq scheint nicht immer zu funktionieren. Ich sitze hier gerade an einem Mac und der kann weder "for i in {1..4}; do ..." noch "for in in $(seq 4); do ..."

Code:
bash-3.2# for i in $(seq 4); do echo $i; done
bash: seq: command not found

bash-3.2# for i in ${1..4}; do echo $i; done
bash: ${1..4}: bad substitution

Aber grundsätzlich finde ich die Schleife mit seq sehr gut. Ich werde da mal am Montag mit "rumspielen" .....

Robby
 

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

Summe von Zahlen in einer Zeilen bilden

HandbrakeCLI Shell Skript

continue in Schleife einbauen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

Zurück
Oben