Título: Problemas con asignación de valores en un array Publicado por: Neofito_2017 en 3 Abril 2017, 17:06 pm Hola a todos :)
Tengo un problema en un script que no se resolver. Se trata de lo siguiente: a) I=0; lspci | grep Ethernet | cut -d ":" -f3 | while read LINEA; do b) CONTROLADOR_DE_RED[$I]=`echo $LINEA` c) echo -e "Controlador de red: {CONTROLADOR_DE_RED[$I]}\n" d) echo -e "Linea leída: $LINEA\n\n\n" e) ((I++)) f) done g) I=0; echo -e "$I) ${CONTROLADOR_DE_RED[$I]} \n" ¿Por qué en la línea g) el valor de CONTROLADOR_DE_RED[0] me aparece en blanco si en la línea c) lo muestra correctamente tanto en el array como en la línea leída? El mismo problema aquí: Código
He probado a cambiar por: done < `parted -s /dev/${UNIDAD[$M]} print free|head -n4|cut -d":" -f2|sed 's/^[ \t]*//;s/[ \t]*$//'` y tampoco consigo asignar valores a los elementos de la matriz. Para los arrays, he utilizado declare -a y declare -A. El resultado obtenido es mientras se ejecutan los bucles: 0,0: sda 0,1: ATA TOSHIBA MK1655GS (scsi) 0,2: 160GB 0,3: 512B/512B 0,4: msdos 1,0: sdb 1,1: Generic Flash Disk (scsi) 1,2: 1845MB 1,3: 512B/512B 1,4: loop ======================================================================== Al terminar los dos bucles: Unidad: sda Modelo: Capacidad: Tamaño del sector: Tipo de partición: ======================================================================== Unidad: sdb Modelo: Capacidad: Tamaño del sector: Tipo de partición: Dentro del bucle los valores son correctos pero al terminar el bucle, todo vuelve a cero, excepto lo asignado antes del segundo bucle. ¿Alguien puede ayudarme por favor? Muchísmas gracias a todos por adelantado. |