Bash:
Organizando código en funciones

Cómo hacerlo:

Crear una función simple en Bash:

saludar() {
  echo "¡Hola, $1!"
}

Utilízala llamando a la función con un parámetro:

saludar "Mundo"  # Salida: ¡Hola, Mundo!

Las funciones pueden retornar valores usando return para códigos de estado numéricos (no para retornar datos reales):

sumar() {
  return $(($1 + $2))
}

sumar 3 4
echo $?  # Salida: 7

Nota que $? captura el valor de retorno del último comando, que es el resultado numérico de sumar.

Análisis en Profundidad

En Bash, las funciones han sido una manera de compartimentar el código desde las primeras versiones. Históricamente, el uso de funciones se alinea con los principios de la programación estructurada introducidos en los años 60 para mejorar la calidad del código.

Alternativas a las funciones incluyen la incorporación de archivos de script o el uso de alias, pero estos no ofrecen el mismo nivel de modularidad y reutilización.

Un detalle de implementación notable en Bash es que las funciones son ciudadanas de primera clase; no tienen una palabra clave de declaración específica como function en otros lenguajes, aunque function es opcional en Bash por legibilidad. El ámbito de la función también es interesante: las variables son globales por defecto a menos que se declaren como locales, lo que puede llevar a un comportamiento inesperado si no se manejan adecuadamente.

Vea También