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

salida es:ksh scripting, bucle For

{1..30} 

Qué hay de malo en mi código?

+0

duplicado posible de [para el rango de bucle no trabaja ksh] (http: // stackoverflow. com/questions/3005265/for-loop-range-not-working-ksh) – ceving

Respuesta

5

{1..30} pertenece a bash.

Utilice esta:

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

+1. No había pensado que Korn Shell soportaba aritmética para bucles, pero [aparentemente lo hace] (http://docstore.mik.ua/orelly/unix3/korn/ch06_03.htm). – ruakh

+2

s [3]: error de sintaxis en la línea 3: '('inesperado – Ilya

+1

' para (()) 'era compatible desde' Ksh93'. – kev

2

alternativa, se puede cambiar a una construcción, mientras que:

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

¿Podría agregar alguna explicación de esto? –

+0

no funciona en ksh – kkoolpatz