Trabajar con funciones ahorra bastante tiempo y esfuerzo al incluir en las funciones tareas repetitivas, además de hacer scripts mucho más modulares y manejables, que nos facilita el mantenimiento y evolución de los scripts.
Ya hemos visto qué son las funciones en shell script, qué son los parámetros, tanto en shell script como en las funciones, cómo enviar parámetros a funciones y cómo recibir como variable el resultado de una función.
Ahora vamos a ver un sencillo truco para poder trabajar con funciones u otras porciones de código. Hagamos una función:
function enficheroexterno()
{
echo "Soy una función que está en distinto fichero que el script"
}
Y la guardo en un fichero que se llama funcionexterna (no hace falta que le pongamos extensión, aunque podemos hacerlo).
Y un script:
#!/bin/bash
. funcionexterna
enficheroexterno
Y cuando ejecuto el script, me da el siguiente resultado:
Soy una función que está en distinto fichero que el script
Para incluir la función de un fichero externo, únicamente he puesto un punto antes del nombre del fichero. De esa manera, incluye el texto del fichero en nuestro script.