Am Samstag, den 26.05.2012, 16:06 +0200 schrieb Simon Reinhardt: > Hallo Liste, > > habe folgendes Problem: > In einem Bash-Script soll die Variable i über einen bestimmten Bereich > laufen, den ich über die Parameter $1, $2 und $3 angebe. > Hab dann das probiert: > #/bin/bash > > for i in {$1..$2..$3}; do > echo "$i" > done > > das geht aber leider nicht, weil brace expansion vor variable expansion > ausgeführt wird. > Was kann man da machen? Wenn die Parameter Zahlen sind, sollte es so gehen: #!/bin/bash for (( i=${1} ; i<${2} ; i+=${3} )) ; do echo "$i" done Die erste Zahl ist der Startwert, die zweite Zahl der Endwert und die dritte Zahl die Schrittweite. Oder meinst du etwas anders? Wenn die Schleife die Parameter durchlaufen soll (egal ob Zahl, Buchstaben oder Wörter), dann so: #!/bin/bash for i in $* ; do echo "$i" done -- mfG Sascha Wie man sein Kind nicht nennen sollte: Don R. Wetter
Attachment:
signature.asc
Description: This is a digitally signed message part