Funciones

Aunque los scripts en Bash suelen ser pequeños y para hacer cosas puntuales pero muchas veces viene bien tener funciones para evitar repetir código y hacer buenos scripts. Se pueden definir de la siguientes formas (independientemente de si se van a pasar o no parámetros.

  • function function_name { command... }
  • function function_name () { command... }
  • function function_name () { command... }

Para invocar a una función simplemente se ha de usar su nombre (sin los paréntesis) y en caso de que queramos pasar parámetros uno detrás de otro separados por espacios.

#!/bin/bash

fun () {
   if [ "$1" ]                           # Is parameter #1 zero length?
   then
     echo "Parametro #1 es \"$1\".-"
   fi

   return 0
}

echo "sin parametros."
fun
echo

echo "1 parametro."
fun uno
echo
Dentro de la definición de la función podemos usar los siguientes comandos:
  • swift lo que hace es eliminar el primer parámetro y trasladar el segundo al primero y así sucesivamente.
  • return valor Termina la función y devuelve un valor.
  • exit valor Termina el script con un código de error como valor.

Las variables por defecto son globales por lo que si queremos que una variable sea local tenemos que definirla como local dentro de la función:

func ()
{
  var1=2         # cambia el valor de una variable globalmente
  local var2=23  # define una variable local
}

Retro

Lugares

Redes

Sistemas

Varios