Cordiales Saludos


El tema de los contadores, acumuladores e interruptores es muy importante para la realización de nuestros script. Ya las variables no solo van a contener valores, sino que nos permiten usarlas para el conteo, el incremento variable o como bandera para luego ser usadas en la toma de decisiones.
Contador
Ya tratado este tema en uno de mis cursos anteriores te invito a leer la siguiente captura de pantalla donde explico el tema de Contador.

En el siguiente ejercicio te muestro la forma básica del funcionamiento de los contadores, cómo a través de cada instrucción se va incrementando. Usarlo de esta manera no es muy útil pero nos permite ver como es su funcionamiento. La sintaxis es: cont=cont+1

Ejecución del código
$ bash script_39.sh
cont tiene valor 0
cont tiene valor 1
cont tiene valor 2
cont tiene valor 3


Ejecución del código
$ bash script_40.sh
Forma reducida o compacta
cont tiene valor 1
cont tiene valor 2
cont tiene valor 3

Un ejercicio sencillo y de fácil comprensión, es colocar el contador dentro de una estructura repetitiva en esta caso un for. A medida que el ciclo se repite se va incrementando el contador.

$ bash script_41.sh
Este es i: 1
Este es el contador 1
Este es i: 2
Este es el contador 2
Este es i: 3
Este es el contador 3
Este es i: 4
Este es el contador 4
Este es i: 5
Este es el contador 5

Podemos usar el contador de forma decreciente. Todo dependerá de nuestro interés para la realización del script.

$ bash script_42.sh
Este es i: 1
Este es el contador 9
Este es i: 2
Este es el contador 8
Este es i: 3
Este es el contador 7
Este es i: 4
Este es el contador 6
Este es i: 5
Este es el contador 5

Acumulador
Ya tratado este tema en uno de mis cursos anteriores te invito a leer la siguiente captura de pantalla donde explico el tema de Acumulador.

En el siguiente ejercicio utilizamos la variable sum para sumar los número del 1 al 5. En este caso la variable sum se comporta como un acumulador ya que contendrá la primera vez el 1, luego se le sumara el 2 y luego el 3 hasta el 5. La sumatoria de 1 + 2 + 3 + 4 + 5 = 15

$ bash script_43.sh
Este es i: 1
Este es el acumulador 1
Este es i: 2
Este es el acumulador 3
Este es i: 3
Este es el acumulador 6
Este es i: 4
Este es el acumulador 10
Este es i: 5
Este es el acumulador 15

Interruptores
Interruptores: Se le llama así a una variable que toma dos valores (1 ó 0) o también (falso o verdadero). Se utiliza para que se realice un condicional o para que cambie su valor en determinada instrucción. También es conocido como conmutador, switch, sw, bandera, flag o indicador. Fuente
Las banderas o interruptores son de gran utilidad. Cuando la bandera cambia de estado podemos realizar otras acciones. El estado de una bandera puede volver a su valor inicial en cualquier momento del script. Aquí lo importante es que de acuerdo a su valor hace una acción.
En el siguiente script la variable flag inicia con el valor false cuando la variable i es igual a 3 la variable flag ahora cambia a true.


Esta es una nueva forma de estructura el for in. i=1 --> Es el valor inicial **i<=5** --> Condicional que determina donde concluye el ciclo i++ --> Incremento en 1, de la variable i

Ejecución del código
$ bash script_45.sh
Valor de i: 1
Valor de i: 2
Valor de i: 3
Valor de i: 4
Valor de i: 5

Continue
En este script muy sencillo mostramos el uso de continue, cuando la iteracción pasa por continue, la instrucción salta es decir continua, notemos que no realiza ninguna de las acciones que están después. Al ejecutar el script no muestra nada porque por cada iteracción del ciclo for al encontrarse con un continue continuaba el ciclo.



Ejecución del Código
$ bash script_47.sh
Valor de i: 1
Valor de i: 3
Valor de i: 4
Valor de i: 6
Valor de i: 7

Break
Break se usa cuando queremos interrumpir un ciclo. De acuerdo a un evento o condición queremos que termine la estructura repetitiva, de forma estricta. En el siguinet script cuando i llega al valor de 5 se interrumpe el ciclo.


Hasta aquí nuestra publicación, con un poco de práctica y la realización de estos ejercicio con algunas modificaciones podemos comprenderlos mejor. Notaste que dentro de un ciclo podemos colocar condicionales. Todas las estructuras pueden estar anidadas. También podríamos hacer lo contrario, que dentro de un if podemos colocar un for in.

Operadores aritméticos (Bash)
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Resto |
** | Potenciación |

Todos a practicar, incluyéndome! Nos vemos en la próxima publicación...
Estos ejercicio y los anteriores los puedes encontrar en el repositorio del curso: https://gitlab.com/btcsiraquino/hp_bash_ejercicios
Comments (1)
Thanks for your contribution to the STEMsocial community. Feel free to join us on discord to get to know the rest of us!
Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).
You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.