paralelizar script de shell

Tengo una línea siguiente:

for length in "$(ls $OUT_SAMPLE)" do $CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f $length & done 

Por lo tanto, debe paralelizar el ciclo for, pero de alguna manera todavía lo ejecuta en una secuencia. Sin embargo, si hago lo siguiente:

  $CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f blabla.txt & $CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f blabla2.txt 

Lo ejecuta en paralelo. ¿Por qué no funciona un bucle for?

     for length in "$(ls $OUT_SAMPLE)" 

    debe ser reescrito

     for length in $(ls $OUT_SAMPLE) 

    De hecho, estás haciendo un bucle en un solo valor.

    Puede verificar los valores con los que está bucleando:

     for length in "$(ls $OUT_SAMPLE)" ; do echo x$length done 

    ¡Prueba lo mismo sin las comillas dobles!