Bourne-Shell For i in (seq)
Ich schreiben möchte eine Schleife in der Bourne shell, die wiederholt einen bestimmten Satz von zahlen. Normalerweise würde ich seq
:
for i in `seq 1 10 15 20`
#do stuff
loop
Aber scheinbar auf diesem Solaris-box seq
existiert nicht. Kann mir jemand helfen, indem Sie eine andere Lösung, die auf der Iteration einer Liste von zahlen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen
anders, wenn Sie haben den letzten Solaris, dort ist bash 3 mindestens. zum Beispiel diese geben im Bereich von 1 bis 10 und 15 bis 20
ODER verwenden Sie ein Werkzeug wie nawk
ODER auch die while-Schleife
expr $s + 1
stattecho $s+1|bc
. Dieexpr
utility ist dazu gedacht, diese Art der Sache. Natürlich mitksh
oderbash
können Sie nur verwenden, shell-Arithmetik.bc
verwendet eine tatsächliche Sprache, so kann es sagen, mehr Dinge, alsdc
lediglich ein RPN-Taschenrechner-kombiniert mit Gödel-Aussage über Sprachen, wenn man sagen kannbc
. 😉 😉Können Sie emulieren
seq
mitdc
:Zum Beispiel:
ist umgeschrieben als:
awk
.Andere Variante mit
bc
:Für die Bourne-shell werden Sie wahrscheinlich haben, backticks zu verwenden, aber vermeiden Sie Sie, wenn Sie können:
Ich finde, dass dieses funktioniert, wenn auch hässlich wie die Sünde:
Ergebnis:
$ Mann seq
seq
noch nicht installiert ist, und bittet um eine alternative Methode.