2012-04-02 5 views
5
#!/bin/ksh 
#########################  
for i in {1..30} ;do 
    echo $i 
done 

Ausgabe lautet:KSH Scripting, For-Schleife

{1..30} 

Was in meinem Code falsch?

+0

Mögliche Duplikat [für Loop-Bereich funktioniert nicht KSH] (http: // Stackoverflow. com/Fragen/3005265/for-Schleife-Bereich-nicht-arbeiten-ksh) – ceving

Antwort

5

{1..30} gehört zu bash. diese

Verwendung:

for((i=1;i<=30;i++)); do 
    echo $i 
done 
+0

+1. Ich hatte nicht gedacht, dass die Korn Shell arithmetische for-Schleifen unterstützt, aber [anscheinend tut es] (http://docstore.mik.ua/orelly/unix3/korn/ch06_03.htm)! – ruakh

+2

s [3]: Syntaxfehler in Zeile 3: '('Unerwarteter – Ilya

+1

' für (()) 'wurde seit' Ksh93' unterstützt. – kev

2

Alternativ können Sie eine Zeit lang Konstruktion wechseln:

i=1 
while ((i <= 30)) 
do 
    echo $i 
    ((i+=1)) 
done 
0
for {set x 0} {$x<10} {incr x} { 
      puts "x is $x" 
      } 
+1

Könnten Sie eine Erklärung dazu hinzufügen? –

+0

Dies funktioniert nicht in ksh – kkoolpatz