BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

programando en bash

BocaDePez
BocaDePez

hola

estoy dando mis primeros pasos programando en bash, quiero hacer un pequeño script que le pases como argumento un nombre de un vector, el numero de elementos y un valor para cada elemento.

Por ejemplo esto ./script vectorazo 4 er

y esto es el codigo que he hecho

    for (( CONTADOR=0; CONTADOR<$[$2]; CONTADOR++ )) ;
    do
        $1[$CONTADOR]=$3
    done

Bueno, creo que no entiendo bien como se hace la asignación porque cuando lo ejecuto me da el siguiente fallo

vectorazo[0]=er: orden no encontrada

vectorazo[1]=er: orden no encontrada

y asi con cada iteración.. ¿cual es el fallo?

BocaDePez
BocaDePez

-y si lo pones asi? for (( $CONTADOR=0; $CONTADOR<$[$2]; $CONTADOR++ )) ; do $1[$CONTADOR]=$3 done

BocaDePez
BocaDePez

En bash, ese bucle que has realizado sirve para ejecutar programas dentro de la sección do-done. Se está quejando de que "vectorazo[0]=er" no es un programa.