Algunas veces nos encontramos trabajando con la terminal y ejecutando incontables veces la misma secuencia de comandos cambiando solo uno o algunos pocos parámetros entre secuencia y secuencia. O simplemente, necesitamos simplificar algunas operaciones básicas sin ejecutar comandos kilométricos. Para este tipo de situaciones, una buena práctica puede ser utilizar funciones de bash customizadas, es decir creadas por nosotros para nuestras necesidades específicas.
En este artículo exploraremos como declarar una función (sencilla) de bash y hacer que la misma esté disponible como un comando más en nuestra terminal.
Lo primero que debemos hacer es crear un archivo donde declararemos nuestra función. Para eso, con nuestro editor de texto favoríto crearemos un archivo llamado .custom_functions.sh en el home de nuestro usuario. Noten que lo iniciamos con . (punto) para mantenerlo como un archivo oculto del sistema y minimizar la posibilidad de eliminarlo por error.
Al comienzo del archivo agregamos la siguiente linea:
#!/bin/bash
Luego, para este ejemplo puntual crearemos una función sencilla, que toma un valor ingresado como parámetro y lo muestra por pantalla, por lo que necesitaremos agregar el siguiente código al mismo archivo:
function printsaludo(){
echo "Hola $1"
}
Guardamos los cambios y para probarlo ejecutamos en la terminal el comando source .custom_functions.sh una vez hecho esto podremos usar la función printsaludo como un comando más de bash. Si escribimos printsaludo Juan por ejemplo esto imprimirá la cadena Hola Juan
Ahora bien, si reiniciamos nuestro equipo y queremos volver a usar el comando notaremos que no está disponible y para que funcione nuevamente tenemos que ejecutar source .custom_functions.sh una vez más. Para evitar ejecutar esto cada vez que reiniciamos nuestro equipo, necesitamos editar el archivo .bashrc que se encuentra en home nuestro usuario y agregar las siguientes lineas al final:
# Custom commands
source /home/my_user/.custom_scripts.sh
Donde dice my_user deberás poner el nombre de la cuenta de usuario de linux que estas utilizando. Una vez hecho esto salvas el archivo y ya tienes tu función seteada para utilizar en todo momento.
Obviamente la idea es que puedas generar funciones más complejas que faciliten tus tareas diarias y/o procesos que impliquen la ejecución de varias secuencias de comando.
Espero que este artículo les haya sido de ayuda.

