¿Cómo asignar valores circularmente a una matriz en el shell?
El entorno Bash puede verse así.
#! /bin/bash
for ((i=1; ilt; =100; i ))
hacer
nombre[$i]=$i
echo ${name[$i]}#Impreso para facilitar la verificación
hecho
El punto de vista genérico (conforme a los estándares POSIX) podría verse así :
#! /bin/sh
declarar -un nombre
para i en `seq 100`
do
nombre[$i]= $i
echo ${name[$i]}#Impresión agregada para verificar
hecho
En algún lugar del primer párrafo del capítulo de matrices de bash manual:
No hay límite superior en el tamaño de una matriz, y no hay restricciones en referencias consecutivas y asignaciones a miembros. Los subíndices de la matriz son números enteros, comenzando desde 0.
Cuando se usa cat, se ve así:
cat 123.txt | while read line
do
echo "$ line "
hecho
Cada línea de 123.txt se leerá en la línea variable y se generará.