Crear funciones bash con argumentos

Crear funciones bash con argumentos

Para crear un código eficiente, las funciones bash se utilizan en scripts de shell. En esencia, estas son un conjunto de instrucciones que se pueden usar nuevamente durante todo el programa. Además, permite a los programadores dividir scripts largos y complejos en fragmentos manejables que pueden invocarse según sea necesario. En este artículo, pasaremos por cómo pasar un argumento a una función bash para construir una función con un argumento. El parámetro puede ser una cadena, un entero o algo completamente diferente. En este artículo se utilizarán diferentes métodos para enviar argumentos a las funciones BASH.

Pasando argumento a la función bash

En esta sección, le mostraremos cómo proporcionar un argumento para una función bash en Linux. Pero primero, demostraremos cómo crear una función en Bash. El uso de funciones en las secuencias de comandos bash es una forma fantástica de reutilizar el contenido. Un grupo de comandos que se pueden llamar repetidamente dentro de un script bash podría denominarse módulo de bash. Las funciones en Bash están ahí para que sus programas sean más fáciles de leer y evitar que ingrese el mismo script repetidamente.

Para escribir el programa, usaremos el shell bash, que es "#!/bin/bash."Luego, en la siguiente línea, definiremos una función esencialmente definida por el usuario, por lo que le daremos el nombre de nuestra elección. Aquí, nombraremos la función "func", y usaremos los soportes redondos "()" que sabemos que se usan con funciones. Luego usaremos soportes rizados dentro de estos soportes. Usamos el comando "echo" para imprimir la declaración que contiene el texto "Amo a mi país" y debido a que esta declaración está incrustada en la función, se mostrará en la salida cuando se llame a la función. La función ahora se llamará al final del script. Simplemente ingrese el nombre del método "func" sin paréntesis para lograr esto.

#!/bin/bash
func ()
Echo "Amo a mi país"

concurrido

El comando para mostrar la salida de un script bash en el terminal ahora se ingresará en el terminal. Para hacer esto, primero ingresaremos la palabra clave "bash" seguido de un espacio, luego el nombre del script bash, "fileBash.mierda.

Linux@Linux: ~/Desktop $ Bash FileBash.mierda

La cadena que usamos dentro de la función "FUNC" y quería mostrar en la pantalla después de llamar a la función se mostrará cuando ejecutemos este comando. Como puede ver, la oración "Amo a mi país" se muestra en la imagen a continuación.

Ahora, en la siguiente sección, daremos un argumento para la función bash. Para hacer esto, construiremos un script en Bash en el que agregamos primero la carcasa, como lo hicimos anteriormente, luego definimos una función con el nombre "func1 ()", seguido de corchetes rizados. El cuerpo de la función se encuentra dentro de los soportes rizados. Por lo tanto, dentro del cuerpo de la función, usamos el comando "Echo" para imprimir el nombre de la función "func1" y pasar el parámetro bash "$ 1". Después de salir del cuerpo de la función, lo llamamos en la siguiente línea y pasamos la cadena "Goodluck" como argumento. Esta cadena se mantiene en la variable "$ 1".

#!/bin/bash
func1 ()
Echo "func1 $ 1"

Func1 "Goodluck"

La salida del script se muestra en el terminal escribiendo el mismo comando que también se utiliza en el paso anterior.

Linux@Linux: ~/Desktop $ Bash FileBash.mierda

Como puede ver en la imagen a continuación, cuando ejecutamos este comando, mostró una declaración que incluía el nombre de la función "Func1", así como la cadena "Goodluck" que habíamos proporcionado como argumento a la función Bash. Se guardará en el parámetro "$ 1".

Pasar múltiples argumentos a la función bash

Si bien esta sección es similar a la anterior, pasaremos múltiples parámetros aquí en lugar de un solo argumento en la sección anterior. Para esto, vamos a desarrollar un script en el que agregamos por primera vez el shell bash, que es "#!/bin/bash ". Luego, defina una función con el nombre "user_function ()", seguido del cuerpo de la función, que se crea utilizando corchetes rizados. Entre estos soportes, seguimos los pasos idénticos como en la sección anterior, ingresando la declaración "User_function", que es el nombre de la función y los parámetros "$ 1", "$ 2", "$ 3" y "$ 4" con el Comando "Echo".

Luego, en el siguiente paso, llamaremos a la función con los argumentos utilizando el nombre de la función, "user_function", así como las cuatro cadenas que componen el argumento: "yo", "amor", "my" y "país". Las cuerdas deben escribirse con comas invertidas. Los parámetros para bash serán reemplazados por estas cuerdas que suministramos como argumentos. La primera cadena se almacenará en "$ 1", la segunda en "$ 2", la tercera en "$ 3" y la cuarta en "$ 4".

#!/bin/bash
user_function ()
echo "user_function $ 1 $ 2 $ 3 $ 4"

user_function "i" "amo" "mi" "país"

Ahora, vamos a usar el comando para abrir el script bash en el terminal escribiendo primero "bash" y luego el nombre del script, "fileBash.mierda.

Linux@Linux: ~/Desktop $ Bash FileBash.mierda

Puede ver en la imagen a continuación que cuando el comando se ejecuta correctamente, muestra el nombre de la función, "función de usuario", así como la cadena "Amo a mi país" que habíamos proporcionado como argumento en la función bash.

Uso del método de división en la función bash con un argumento entero

En esta sección, dividiremos un entero utilizando un script bash y enviaremos el resultado como entrada a la función. Para lograr esto, escribiremos un script en el que agregamos primero el shell de Bash como lo hicimos en el paso anterior. Luego, defina la función "Función de usuario ()" y luego use soportes rizados dentro de los cuales definimos la variable "div" y almacenamos la operación de división utilizando el signo de dólar "$."Luego usamos soportes de doble redonda dentro de los cuales usamos dos parámetros," $ 1 "y" $ 2 ", y entre estos dos parámetros insertamos el operador de división para realizar la división.

Luego, usamos el comando "echo" en la siguiente línea, pasando la declaración de entrada "dividir 60 por 10 es", así como el argumento "div" con el valor "$" porque la respuesta de la división se almacena en ella en ella. Los valores que usamos en la división, "60" y "10", se pasarán como argumentos a la función cuando lo llamamos usando la función "user_define."

#!/bin/bash
user_function ()
div = $ (($ 1 / $ 2))
echo "dividir 60 por 10 es: $ div"

user_function 60 10

El siguiente comando debe usarse para mostrar el resultado en la pantalla como el paso posterior.

Linux@Linux: ~/Desktop $ Bash FileBash.mierda

Puedes ver el resultado de la división que se muestra cuando ejecutamos este comando. El resultado es "6" como lo demuestra la declaración, que establece que "la división 60 por 10 es: 6."

Conclusión

Este artículo ha discutido cómo escribir una función bash en Linux que toma argumentos. En una función bash, se han definido varias técnicas para enviar argumentos. En la primera sección de este artículo, cubrimos cómo escribir un script en Bash y construir una función, así como cómo proporcionar un solo argumento a una función. Los numerosos parámetros se suministran a una función BASH en la segunda mitad, y el argumento entero se pasa en la última sección para realizar la división.