Declaraciones en bucle | Guión de concha

Declaraciones de bucle en Shell Scripting: hay un total de 3 declaraciones de bucle que se pueden usar en la programación de bash 
 

  1. mientras declaración
  2. para declaración
  3. hasta declaración

Para alterar el flujo de las declaraciones de bucle, se utilizan dos comandos que son, 
 

  1. descanso
  2. Seguir

Sus descripciones y sintaxis son las siguientes: 
 

  • instrucción while 
    Aquí se evalúa el comando y, en función del resultado, se ejecutará el bucle; si el comando aumenta a falso, el bucle terminará 
    Sintaxis 
     
 
  •  
  • sentencia 
    for El bucle for opera en listas de elementos. Repite un conjunto de comandos para cada elemento de una lista. 
    Aquí var es el nombre de una variable y palabra1 a palabraN son secuencias de caracteres separados por espacios (palabras). Cada vez que se ejecuta el ciclo for, el valor de la variable var se establece en la siguiente palabra en la lista de palabras, palabra1 a palabraN. 
    Sintaxis 
     
 
  •  
  • sentencia till 
    El bucle till se ejecuta tantas veces como la condición/comando se evalúe como falso. El ciclo termina cuando la condición/comando se vuelve verdadero. 
    Sintaxis 
     
 
  •  

Programas
de ejemplo Ejemplo 1: 
Implementación de bucle for con instrucción break 
 

php

#Start of for loop
for a in 1 2 3 4 5 6 7 8 9 10
do
    # if a is equal to 5 break the loop
    if [ $a == 5 ]
    then
        break
    fi
    # Print the value
    echo "Iteration no $a"
done

Producción 
 

$bash -f main.sh
Iteration no 1
Iteration no 2
Iteration no 3
Iteration no 4

Ejemplo 2: 
Implementación de bucle for con declaración de continuación 
 

php

for a in 1 2 3 4 5 6 7 8 9 10
do
    # if a = 5 then continue the loop and
    # don't move to line 8
    if [ $a == 5 ]
    then
        continue
    fi
    echo "Iteration no $a"
done

Producción 
 

$bash -f main.sh
Iteration no 1
Iteration no 2
Iteration no 3
Iteration no 4
Iteration no 6
Iteration no 7
Iteration no 8
Iteration no 9
Iteration no 10

Ejemplo 3: 
Implementando el ciclo while 
 

php

a=0
# -lt is less than operator
 
#Iterate the loop until a less than 10
while [ $a -lt 10 ]
do
    # Print the values
    echo $a
     
    # increment the value
    a=`expr $a + 1`
done

Producción: 
 

$bash -f main.sh
0
1
2
3
4
5
6
7
8
9

Ejemplo 4: 
Implementando hasta el ciclo 
 

php

a=0
# -gt is greater than operator
 
#Iterate the loop until a is greater than 10
until [ $a -gt 10 ]
do
    # Print the values
    echo $a
     
    # increment the value
    a=`expr $a + 1`
done

Producción: 
 

$bash -f main.sh
0
1
2
3
4
5
6
7
8
9
10

Nota: Shell scripting es un lenguaje que distingue entre mayúsculas y minúsculas, lo que significa que se debe seguir la sintaxis adecuada al escribir los scripts.
 

Ejemplo 5:

PHP

COLORS="red green blue"
 
# the for loop continues until it reads all the values from the COLORS
   
for COLOR in $COLORS
do
    echo "COLOR: $COLOR"
done

Producción:

$bash -f main.sh
COLOR: red
COLOR: green
COLOR: blue

Ejemplo 6:

Incluso podemos acceder a los parámetros posicionales usando bucles

Ejecutamos un script de shell llamado sample.sh usando tres parámetros

Ejecución de secuencias de comandos: main.sh muestra1 muestra2 muestra3

Podemos acceder a los tres parámetros anteriores usando $@

PHP

echo "Executing script"
   
# the script is executed using the below command
# main.sh sample1 sample2 sample
# where sample1, sample2 and sample3 are the positional arguments
# here $@ contains all the positional arguments.
 
for SAMPLE in $@
do
    echo "The given sample is: $SAMPLE"
done

Producción:

$bash -f main.sh sample1 sample2 sample3
Executing script
The given sample is sample1
The given sample is sample2
The given sample is sample3

Ejemplo 7: bucle infinito

PHP

while true
do
  # Command to be executed
  # sleep 1 indicates it sleeps for 1 sec
  echo "Hi, I am infinity loop"
  sleep 1
done

Producción:

$bash -f main.sh
Hi, I am infinity loop
Hi, I am infinity loop
Hi, I am infinity loop
.
.
.
.
It continues

Ejemplo 8: Comprobación de la entrada del usuario

PHP

CORRECT=n
while [ "$CORRECT" == "n" ]
do
  # loop discontinues when you enter y i.e.e, when your name is correct
  # -p stands for prompt asking for the input
  read -p "Enter your name:" NAME
  read -p "Is ${NAME} correct? " CORRECT
done

Producción:

$bash -f main.sh
Enter your name:Ironman
Is Ironman correct? n
Enter your name:Spiderman
Is Spiderman correct? y

Publicación traducida automáticamente

Artículo escrito por bilal-hungund 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 *