Bash para el bucle para iterar a través de una matriz

Bash para el bucle para iterar a través de una matriz

Un bucle "para" es una parte fundamental de casi todos los idiomas de programación. Ayuda a escribir el código que desea repetir en el número deseado de veces. Para los sistemas basados ​​en Linux, Bash también presenta una sintaxis dedicada que permite a sus usuarios aprovechar los bucles para automatizar sus tareas diarias a través de scripts.

Aunque puede usar el bucle "para" en un número prácticamente infinito de escenarios, esta guía analizará tres escenarios básicos que puede conectarse a escenarios más extensos y complejos para lograr objetivos más grandes. Exploraremos tres escenarios básicos que emplean el bucle for para iterar a través de una matriz.

Para demostrar el funcionamiento del bucle "para", demostraré los scripts bash usando Ubuntu 22.04.

Creando el archivo Bash

Antes de explorar los escenarios, creemos nuestro archivo bash, que contendrá nuestro script bash. Simplemente navegue al directorio deseado en el terminal y cree un archivo utilizando el comando "nano" o "toque".

Para esta guía, crearé una "prueba.Archivo SH "en mi directorio de" documentos ".

Esto abrirá su archivo bash usando el editor de texto Nano.

Aquí, puede comenzar a escribir el código que desea en su archivo de script. Comencemos por explorar los escenarios.

Usando el bucle "para" para mostrar el contenido de una matriz

Con su archivo bash abierto en el editor, podemos comenzar a agregarle código. Para especificar que este es un archivo bash, debe indicar lo siguiente:

"#! /bin/bash "

Primero, necesitamos definir una matriz y asignarle cinco valores. Asignemos los nombres John, Jane, Jim, Jack y Janis.

Ahora viene la parte divertida; Necesitamos configurar el bucle for, que usando el iterador "i" iterará a través del contenido de la matriz y realizará la función de visualización. Puedes hacerlo como tal:

Esta línea configura el bucle. Con el símbolo "$", estamos especificando que estamos tratando de acceder al valor del índice específico de la matriz. El símbolo "@" se refiere al índice de la matriz, que contiene el valor al que estamos tratando de acceder usando el iterador "I".

En las secuencias de comandos bash, la sintaxis dicta que especificamos nuestra función dentro de las palabras clave "hacer" y "hecho". Entonces, mientras intentamos mostrar el contenido de la matriz, lo escribiremos como se muestra a continuación:

Esto pasará por todo el contenido de la matriz y los mostrará uno por uno. Ahora, nuestro guión se ve así:

Presione "Ctrl+O" para guardar el contenido de este archivo de script y "Ctrl+X" para salir del editor nano.

Ejecutando el script

Con todo el código en su lugar, es posible que se pregunte cómo puede ejecutar este código para ver la salida. En su terminal, escriba:

Prueba de $ bash.mierda

Aquí, puede ver los nombres que se muestran a medida que los hemos definido.

Uso del bucle "para" para escribir el contenido de una matriz a un archivo de texto

Este escenario funciona bien en los casos en que obtenemos la salida de un escenario específico en una matriz, y tenemos que generar el contenido de la matriz para referencia futura u otro cálculo.

Entonces, tomemos el código que hemos escrito en el escenario anterior y modifíquelo. En lugar de imprimir cada entrada en la matriz una por una, necesitamos escribirla en un archivo de texto. Abra su archivo de script usando:

$ nano prueba.mierda

Ahora, como tenemos la matriz llamada "Escritores", los escribiremos en un archivo llamado "Escritores.txt ”usando los símbolos >>. Entonces su código debería verse así:

Guardar y salir del archivo para ejecutar el script.

Ejecutando el script

Similar al escenario anterior, puede ejecutar el script actualizado usando:

Prueba de $ bash.mierda

Esta vez, cuando ejecute el código, verá que no habrá salida en el terminal. Esto se debe a que el código está generando todo al archivo de texto. Se habría creado un archivo de texto en el mismo directorio.

Al abrir el archivo (puede hacer doble clic en el archivo para abrirlo), verá que los nombres se han agregado al archivo:

Usando el bucle "para" para comparar una cadena dada con los elementos de la matriz

Usaremos el mismo script bash para este escenario y lo extenderemos más.

La estructura principal de nuestro código seguirá siendo la misma, y ​​necesitaremos actualizar el contenido del código de bucle. Usando el mismo script, veremos si nuestro nombre proporcionado coincide con alguno de los nombres en la matriz; Si lo hace, los saludaremos. Para los otros nombres de la matriz, solo los mostrará.

Abra nuestro archivo usando "Nano":

$ nano prueba.mierda

Ahora, queremos actualizar el código entre las palabras clave DO y HECHO a las siguientes:

Este código verificará en el momento de la ejecución si alguno de los nombres en la matriz coincide con "Janis", luego mostrará "Hola Janis". De lo contrario, solo muestre los nombres. Su código debería verse así:

Para poder ejecutar este código, debe guardar el archivo y salir del editor de texto.

Ejecutando el script

Cuando regrese al terminal, puede usar lo mismo para ejecutar su script bash modificado:

Prueba de $ bash.mierda

Conclusión

Estos tres son ejemplos muy primitivos de usar el bucle "para" en sus scripts de bash. A medida que continúe aprendiendo más sobre lo que pueden hacer estos scripts, verá que este bucle es muy útil y se puede utilizar en códigos muy complejos. Para comprender mejor las secuencias de comandos y usarlo en sus operaciones diarias, debe comprender estos componentes básicos del código y lo que hace la sintaxis.

Si se encuentra con algún problema con cualquiera de estos escenarios o desea obtener más información sobre bucles o scripts bash, no dude en involucrarnos a través de la sección de comentarios, y nos alegrará ayudarlo. Salud.