función de shell

función Le permite reducir la funcionalidad general de su secuencia de comandos a partes más pequeñas y lógicas que realizan la misma funcionalidad llamando a funciones cuando sea necesario.

El uso de funciones para realizar tareas repetitivas es una forma inteligente de crear la reutilización del código. La reutilización de código es una parte importante de las reglas de la programación moderna orientada a objetos.

Las funciones de shell son como subrutinas, métodos y funciones de otros programas.

Crear funciones en Unix/Linux

Para publicar una característica, simplemente use la siguiente sintaxis:

  function_name () { list of commands } 

el nombre de tu función es Nombre de la función , esto es lo que usará para llamarlo desde cualquier parte de su secuencia de comandos. El nombre de la función debe ir seguido de soportes seguido de la lista adjunta Pedido existe corchetes grandes ({}).

Por ejemplo:

Aquí hay un ejemplo simple del uso de la función:

  #! / bin / sh # Define your function here Hello () { echo "Hello World" } # Invoke your function Hello 

Cuando ejecute el script anterior, dará el siguiente resultado:

  $ ./ test .  sh Hello World $ 

Pasar argumentos a funciones en Unix/Linux

Puede definir una función que acepte argumentos al llamar a estas funciones. Estos parámetros pueden consistir en $ 1, $ 2 y.

Aquí hay un ejemplo en el que pasamos dos parámetros a Zara y Ali, que luego capturamos e imprimimos en la función.

  #! / bin / sh # Define your function here Hello () { echo "Hello World $ 1 $ 2" } # Invoke your function Hello Zara Ali 

Este código dará el siguiente resultado:

  $ ./ test .  sh Hello World Zara Ali $ 

Devolver un valor de una función en Unix/Linux

si ejecutas un Salida Los comandos emitidos por la función no solo finalizan la funcionalidad de la función, sino que también finalizan el programa shell.

Si desea detener la función, hay una manera de deshacerse de la función definida.

Dependiendo de la situación, puede usar una función para devolver cualquier valor de una función comando de retorno Utilice la siguiente sintaxis:

  return code 

El código aquí puede ser cualquier cosa que elija, pero obviamente debe elegir algo que tenga sentido o sea útil para el contexto general de su secuencia de comandos.

Por ejemplo:

La siguiente función devuelve un valor de 1.

  #! / bin / sh # Define your function here Hello () { echo "Hello World $ 1 $ 2" return 10 } # Invoke your function Hello Zara Ali # Capture value returnd by last command ret = $ ?  echo "Return value is $ ret" 

El código anterior da el siguiente resultado:

  $ ./ test .  sh Hello World Zara Ali Return value is 10 $ 

Estas características están integradas en Unix/Linux

Una de las propiedades interesantes de las funciones es que pueden llamar tanto a la función misma como a otras funciones. La función llamada en sí misma se llama función recursiva.

El siguiente es un ejemplo que explica la interconexión de dos funciones.

  #! / bin / sh # Calling a function from another number_one () { echo "This is the first function speaking ." number_two } number_two () { echo "This is now the second function speaking ." } # Calling function one.  number_one 

Dará el siguiente resultado:

  Đây là câu lệnh đầu tiên . này hiện thời là hai function Speaking . 

Invoca funciones de línea de comandos en Unix/Linux

Puede establecer definiciones para las funciones de uso frecuente en el .profile para que estén disponibles cada vez que inicie sesión y en cualquier momento en la línea de comandos.

También puede elegir agrupar estas definiciones de funciones en un archivo llamado test.sh, que luego se ejecuta en el shell actual al escribir en el teclado.

  $ .  test .  sh 

Esto se hace cuando las funciones en este archivo se pueden leer y se define en el shell actual de la siguiente manera:

  $ number_one This is the first function speaking . This is now the second function speaking . $ 

Para eliminar una definición de función del shell actual, use el comando unset en la función.Ф Esto es similar al comando utilizado para eliminar definiciones de variables del shell.

  $ unset .  f function_name 

Según el punto de entrenamiento

Artículo anterior: Navegación IO en Unix / Linux

Artículo siguiente: Ayuda de la página de manual de UniP

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir
error: Content is protected !!