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.
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:
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
}