[18:04] x={1..3} ; for i in $x ; do echo $i ; done # wie kriege ich das gebacken? [18:05] bevor ich nach einer lösung frage, muss ich fragen ob das problem verstanden ist ... [18:11] for i in $(seq 1 3); do echo $i; done [18:12] for i in {1..3}; do echo $i; done # bashism [18:14] beides ist die basis .... ich will eben für $x einen beliebigen ausdruck aufgelöst bekommen, zumindest aber eine zahlenfolge [18:16] eigentlich sollte das irgendwie mir eval gehen , dachte ich zumindest , .... ich habe damit aber nichts hinbekommen [18:16] mir>mit [18:17] statt dem "{1..3}" oder "$(seq 1 3)" kannst du auch einfach "apfel birne pfirsich" hinschreiben, oder eine variable mit diesem wert nehmen, kann auch ein array sein. bei zeichenketten (variable, oder mehrere direkt angegeben wörter) verwendet bash dort wie immer $IFS zur identifizierung von Feldbegrenzern [18:19] x="a b x" # damit funktioniert es, ist mir auch gängig , aber ich will halt den ausdruck der beliebigen zahlenfolge aufgelöst bekommen [18:39] und das geht mit meinen beiden beispiel weshalb nicht? [18:39] *beispielEN [18:41] for i in {13..7}; do echo $i; done # klappt ebenfalls [18:42] for i in {13,4,3,9,14,7}; do echo $i; done # ebenso [18:42] natürlich klappt das .... [18:42] und was klappt nicht? [18:43] immer noch das was ich anfangs gepostet hab [18:44] $x wird halt als zeichenkette "1 2 3" definiert, das ist keine menge und kein array, von dem i ein teil sein könnte [18:44] aber du kannst natürlich ein array definieren [18:44] falls es hilft: ich will die folge in der form { .. } konkret als skriptparameter übergeben [18:45] sagen wir als $5 [18:45] mach zwei parameter, einer ist der untere, der andere der obere schwellwert. [18:46] ansonste musst du stringoperationen machen, geht auch, aber ist halt nicht so geil mit bash [18:46] nur dass ich das ganze mehrfach brauche .... also mehrere parameter die folgen angeben [18:47] das machst du dann besser mit ner richtigen skriptsprache. oder du passt das an was es in diesem format eingeben will, damit es das nicht mehr tut. [18:50] statt eine neue skriptsprache zu lernen, versuche ich lieber das was ich kann weiter zu lernen ... [18:50] ich kann mir jetzt nicht vorstellen dass das problem nicht lösbar ist [18:53] aber eval ist anscheinend immer nur auflösung und ausführung , also quasi $0 , ich will aber nur auflösung, keine ausführung ( quasi $1 ... ff ) [19:09] joa, ich denke das geht so in bash nicht, du wirst aus "{1..3}" per stringmanipulation die werte 1 und 3 herausfiltern müssen und die dann in einem {$minimum..$maximum} konstrukt verwenden müssen [19:10] ja, womit ich natürlich nix gewonnen hab [19:12] wenn ich keine lösung bekomme mache ich ./skript 3:5 7:11 ... ... .. und drösele das auf [19:12] kompliziert und aufwendig gaht halt immer [19:14] (gaht>geht , bin ja kein bayer ) === Loetmichel_ is now known as Loetmichel [23:12] habs gelöst bekommen : [23:12] x={1..3} ; for i in $(eval echo $x) ; do echo $i ; done [23:21] von jemand auf der Wikipedia:Auskunft