Conceptos básicos de arreglos Shell Scripting | Conjunto 2 (usando bucles)

Se recomienda pasar por Array Basics Shell Scripting | Set-1
Introducción
Suponga que desea repetir una tarea en particular tantas veces que es mejor usar bucles. Casi todos los idiomas proporcionan el concepto de bucles. En Bourne Shell hay dos tipos de bucles, es decir for, bucle y
whilebucle.

Para imprimir la array estática en Bash

1. Usando while-loop

${#arr[@]}se utiliza para encontrar el tamaño de Array.

# !/bin/bash
# To declare static Array 
arr=(1 12 31 4 5)
i=0
  
# Loop upto size of array
# starting from index, i=0
while [ $i -lt ${#arr[@]} ]
do
    # To print index, ith
    # element
    echo ${arr[$i]}
      
    # Increment the i = i + 1
    i=`expr $i + 1`
done

Producción:

1
2
3
4
5

2. Usando for-loop

# !/bin/bash
# To declare static Array 
arr=(1 2 3 4 5)
  
# loops iterate through a 
# set of values until the
# list (arr) is exhausted
for i in "${arr[@]}"
do
    # access each element 
    # as $i
    echo $i
done

Producción:

1
2
3
4
5

Para leer los elementos de la array en tiempo de ejecución y luego imprimir la array.

1. Usando el ciclo while

# !/bin/bash
# To input array at run
# time by using while-loop
  
# echo -n is used to print
# message without new line
echo -n "Enter the Total numbers :"
read n
echo "Enter numbers :"
i=0
  
# Read upto the size of 
# given array starting from
# index, i=0
while [ $i -lt $n ]
do
    # To input from user
    read a[$i]
  
    # Increment the i = i + 1
    i=`expr $i + 1`
done
  
# To print array values 
# starting from index, i=0
echo "Output :"
i=0
  
while [ $i -lt $n ]
do
    echo ${a[$i]}
  
    # To increment index
    # by 1, i=i+1 
    i=`expr $i + 1`
done

Producción:

Enter the Total numbers :3
Enter numbers :
1
3
5
Output :
1
3
5

2. Usando for-loop

# !/bin/bash
# To input array at run 
# time by using for-loop
  
echo -n "Enter the Total numbers :"
read n
echo "Enter numbers:"
i=0
  
# Read upto the size of 
# given array starting 
# from index, i=0
while [ $i -lt $n ]
do
    # To input from user
    read a[$i]
  
    # To increment index 
    # by 1, i=i+1
    i=`expr $i + 1`
done
  
# Print the array starting
# from index, i=0
echo "Output :"
  
for i in "${a[@]}"
do
    # access each element as $i
    echo $i 
done

Producción:

Enter the Total numbers :3
Enter numbers :
1
3
5
Output :
1
3
5

Publicación traducida automáticamente

Artículo escrito por prakhargvp y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *