In 'ner Schleife ohne Berechnungen von Zahlen:
Code: Alles auswählen
#!/bin/sh
r="1"
for i in `seq 2 10` ; do
r=$r,$i
done
echo $r
Oder mal etwas kreativer ... hier einige Versuche das Problem kürzstmöglich zu lösen:
(das Newline am Ende fehlt)
(valide, 28 Zeichen lang)
(bedarf leider 9 und 10, 17 Zeichen lang)
... und ich probiere rum und finde einfach nichts kürzeres. Dann versuche ich es aber mal auf Debian GNU/Linux (statt NetBSD) und stelle fest, dass dort `seq' keinen Separator am Ende anhängt. Somit ist das meine kürzeste Lösung (seq 5.97 aus den GNU Coreutils).
(10 Zeichen lang)
Das kriegt wohl niemand noch kürzer hin.
Wer aber noch eine kürzere Lösung weiß die _ohne_ das GNU seq auskommt, dann her damit!
Um noch die Unterschiede der `seq' zu zeigen:
Code: Alles auswählen
$ seq -s, 10 | od -c
0000000 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
0000020 9 , 1 0 ,
0000025
(das war NetBSD seq -- macht was korrekt ist)
Code: Alles auswählen
$ seq -s, 10 | od -c
0000000 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
0000020 9 , 1 0 \n
0000025
(und das GNU seq -- macht was man meist will)