Ejecutar acciones con Bash al iniciar y cerrar sesión en Linux

En el post anterior explicamos cómo correr scripts al reiniciar el sistema. Tal como lo anticipamos, en esta ocasión vamos a mostrar cómo ejecutar acciones con Bash al iniciar o cerrar sesión desde la línea de comandos. Asumimos que estaremos usando esta shell por defecto. Si así no fuera, deberemos consultar la documentación correspondiente.

Ejecutar acciones con Bash

Dentro de nuestro directorio home se destacan dos archivos ocultos especiales. Las descripciones fueron tomadas del man page de Bash.

.bash_profile: el archivo de inicialización personal que es ejecutado al iniciar sesión desde la línea comandos.

.bash_logout: archivo que indica las acciones de limpieza que se deben llevar a cabo al cerrar sesión. Si es archivo no existe, podemos crearlo manualmente.

Debido a que ambos archivos son invocados durante el proceso de inicio y cierre de sesión, no es necesario que tengan permisos de ejecución.

Ejemplos

Veamos dos ejemplos sencillos para ilustrar posibles usos de los archivos recién nombrados.

Ejemplo 1 – Mostrar un mensaje con fecha y hora al iniciar sesión

Agreguemos la siguiente línea al final de .bash_profile:

echo "Hola $(whoami). Hoy es $(date +'%d/%m/%Y'), y son las $(date +'%H:%M:%S') hs."

La próxima vez que iniciemos sesión deberíamos ver el mensaje mostrado en la Fig. 1:

Ejecutar acciones con Bash al iniciar sesión
Figura 1 – Ejecutar acciones con Bash al iniciar sesión

Ejemplo 2 – Borrar archivos temporales propios de /tmp al cerrar sesión

Si tenemos la costumbre de utilizar el directorio /tmp, es importante realizar una limpieza cuando cerremos sesión. Si bien la misma acción se realiza al reiniciar el equipo, es posible que el próximo reinicio esté muy adelante en el tiempo. Esto puede suceder si estamos trabajando en un servidor en vez de en un equipo de uso personal.

El siguiente comando identificará los archivos ubicados en /tmp que sean propiedad del usuario en cuestión. Al insertarlo al final de ~/.bash_logout se borrarán los archivos que tengamos dentro de /tmp al cerrar sesión. Podemos observar esto con detalles en la Fig. 2:

Ejecutar acciones con bash al cerrar sesión
Figura 2 – Ejecutar acciones con bash al cerrar sesión

Espero que este post les haya resultado de utilidad. ¡Nos leemos en breve!

Deja una respuesta