Curso de Linux N23. Programación en Bash 009. Funciones en Bash

By rafaelaquino on 10/31/2023

Cordiales Saludos

![23_portada.png](Image from post)
![0-separador.png](Image from post)

Funciones

Dentro de un script podemos dividir y organizar algunas funcionalidades complejas o repetitivas dentro de una Función. Las funciones son muy importantes porque nos permiten dividir las tareas o acciones en pequeños scripts. Así podemos organizar mejor nuestro código.

Podemos aclarar mejor el concepto de funciones, revisando lo escrito por mi en la publicación Python para Principiantes N26:

Creando nuestras Funciones. Podemos crear nuestras funciones para que realicen una actividad en específico. Así como los lenguajes de programación traen sus funciones predefinidas, nosotros podemos crear las nuestras. Características de las funciones: Realizan una actividad específica Son reutilizables Son fáciles de comprender Se escriben una vez y se pueden usar en varias partes de un programa Son independientes Son subalgoritmos o subprogramas Trabajando con funciones Debemos definirlas Pueden tener o no parámetros Se deben llamar para su uso Fuente

La declaración del funciones en Bash la podemos ver en la siguiente captura de pantalla. Es importante la llamada de la función, porque sin llamarla no podemos usarla. Esta es la estructura básica de una función.

![23_1.png](Image from post)
Ejecución del código ~~~ $ bash script_69.sh Esta es mi primera función en bash ~~~

Podemos pasarle uno o más argumentos a una función. La forma de introducir los argumentos y tratarlos dentro de la función se comporta igual que cuando agregábamos argumentos a nuestros scripts, ver: https://peakd.com/hive-154226/@rafaelaquino/curso-de-linux-n14-programacion-en-bash-001-variables-argumentos-shift-comentarios-palabras-reservadas

![23_2.png](Image from post)
Ejecución del Código ~~~ $ bash script_70.sh Segunda función en bash con argumentos Primer Argumento 35 Segundo Argumento 78 ~~~ Por lo anterior descrito y sabiendo que las funciones se comportan como un script, podemos hacer uso de las **Variables especiales** $1, $2, $# y #@.
![23_3.png](Image from post)

Ejecución del Código

$ bash script_71.sh 
Tercera función en bash con argumentos (variables especiales)
Primer Argumento 35
Segundo Argumento 78
Cantidad de argumentos 2
Todos los argumentos 35 78

A continuación un script que realiza la suma de dos números, en este caso la suma de 4 y 7.

![23_4.png](Image from post)

Ejecución del código

$ bash script_72.sh 
La suma de 4 + 7 es: 11

En el siguiente script solicitaremos por teclado un número determinado de elementos y de acuerdo a esa cantidad, solicitaremos cada uno de dichos elementos para sumarlos.

![23_5.png](Image from post)

Ejecución del código

$ bash script_73.sh 
Número de elementos? 5
El numero de elementos es: 5
Número? 6
Número? 7
Número? 4
Número? 1
Número? 2
La suma de todos los elementos: 20

Hasta aquí nuestra publicación. Una vez más te invito a que practiques todos los ejercicios. Todas las publicaciones de este curso la puedes encontrar en: https://siraquino.github.io/pythoncumanes/linux.html

![0-separador_bash.png](Image from post)

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


🚨 AVISO 🚨 Es importante que nuestra información personal (documentos, imágenes, fotos, etc) estén respaldadas en otro medio físico o en la nube. No solamente porque estemos haciendo este curso sino como práctica diaria (Hacerlo semanalmente es una buena práctica).

Mi Twitter

Comments (2)

visualblock's avatar @visualblock 10/31/2023

Has sido curado por @visualblock / You've been curated by @visualblock Bienvenidas delegaciones / Delegations welcome [Trail de Curación / Curation Trail](https://hive.vote/dash.php?trail=visualblock&i=1)

Vota por nuestro Testigo aliado - @hispapro / Vote for our allied Witness - @hispapro Más información sobre el testigo aquí / More information about the witness here

stemsocial's avatar @stemsocial 11/1/2023

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.