Una de las tareas que debemos hacer como programadores es la de facilitar al usuario la configuración de nuestros programas. Haciéndolos más flexibles y adaptables a las necesidades de cada individuo.
Y una forma muy fácil de definir configuración para nuestros programas es en ficheros con formato INI. Este formato se introdujo en los años 90 en versiones de Windows como la 3.1. En aquella época, teníamos en varios archivos con extensión INI la configuración de nuestro sistema Windows y teníamos que modificar los archivos y reiniciar Windows para que los cambios tuvieran efecto.… Leer artículo completo
Leer ficheros de configuración INI desde nuestros scripts en BASH
Utilizando la API de MailRelay para enviar correo masivo a nuestra manera.
A pesar del creciente número de canales de comunicación que tenemos a nuestro alcance, el correo electrónico nunca pasa de moda. Prácticamente todos los usuarios de la red tenemos una o más direcciones de e-mail. Y, seguro que más de uno consulta varias veces al día su correo, o está pendiente de la más mínima notificación para mirarlo. No cabe duda que es una potente herramienta de marketing hoy en día, tanto para mantener informados a nuestros clientes como para captarlos o invitarlos a realizar una compra.… Leer artículo completoPíldora: Comportamiento de atajos de teclado en editline vs readline o bash vs mysql
Uno de los grandes puntos a favor que tiene el ecosistema libre y comparten muchos programas para GNU/Linux es que comparten bibliotecas, o pueden compartirlas para implementar diversas funcionalidades. Y una de las bibliotecas que utilizamos a diario casi sin darnos cuenta es readline.
Esta biblioteca implementa utilidades para la introducción de datos por teclado, así como manejo de historial y atajos. Lo que nos proporciona una mejor experiencia de usuario y nos permite manejar programas como bash, ksh, bc, gnuplot, ftp, el cliente de MariaDB o el modo interactivo de Python más fácilmente.… Leer artículo completoPíldora Bash: Incluir archivos en nuestro script sin miedo a que nos cambien el directorio de ejecución
Es una buena práctica en cualquier lenguaje de programación, siempre que sea posible, el tener el código dividido en varios archivos. Esas divisiones harán que nuestro código esté mejor organizado en bloques o compartimentos diferenciados. Y, por supuesto, en nuestros shell scripts no vamos a ser menos.
De hecho, es muy común tener varios shell scripts en un directorio y todos ellos compartirán un código común. Y, por supuesto, está muy feo copiar y pegar ese código común en todos los archivos.… Leer artículo completo
Bash: ¿Cómo ejecutar código antes y después de cada comando? Logging, monitorización, notificaciones y mucho más
Con el fin de hacer nuestro sistema (o servidor) más flexible. Aunque podemos hacer muchas cosas con estas técnicas. Es de gran utilidad poder ejecutar un script justo antes de la ejecución de cualquier orden de Bash y que, justo cuando esta orden termine, podamos ejecutar cualquier otra cosa. Esto nos abre las puertas, por ejemplo a notificaciones de inicio/finalización, logging, monitorización y muchas más posibilidades que veremos en futuros posts.… Leer artículo completo
Un monitor VGA que a veces no quiere funcionar enchufado a un puerto HDMI… con script chapuza
Todo me sucedió hace algo menos de un año cuando compré un nuevo portátil de la sexta generación de Intel. Estos portátiles ya no traen puerto VGA. Sencillamente los Skylake de Intel no los soportan y no hay mucho que podamos hacer. Y, si nuestro portátil trae ese puerto, o bien la placa base tiene un adaptador integrado (aunque a estas alturas no sé si habrá algún fabricante que meta un puerto así en un portátil de última generación), o no es un Skylake (de ahí en adelante.… Leer artículo completo
¿Cómo visualizar la progresión del código fuente de un proyecto en vídeo?
Nos gusta desarrollar, y muchas veces, sobre todo cuando el equipo de desarrollo es grande, apetece enseñar la evolución de nuestro código a los demás de una forma visual. Y, ¿qué mejor que con un vídeo? Un vídeo nos ayudará, de un vistazo a ver lo grande que es nuestro proyecto, las épocas de más o menos cambios, los usuarios implicados, etc. Y luego puedes colgar el vídeo en alguna red social de vídeos, utilizarlo como apoyo para presentaciones, y mucho más.… Leer artículo completo
Cómo saber si existe una función en Bash, saber qué estamos ejecutando y más
En nuestra historia como programadores, hacemos infinidad de llamadas a funciones propias, de terceros, de biblioteca, a otros programas a un alias, etc Y si queremos que nuestros scripts sean lo más robustos posible, debemos tener claro antes de la ejecución que aquello que llamamos se puede ejecutar o dar opciones si algún comando o función no existe.
Por ejemplo, nuestro script necesita hacer una llamada a wget de este tipo:
wget -O salida http://totaki.com
Pero queremos hacer que sea compatible con otros sistemas, por ejemplo, con cURL, y no podemos cambiar uno por otro, pues con curl sería con o minúscula:
curl -o salida http://totaki.com
Nuestro script podrá ser:
1
2
3
4
5
6
7
8if [ -n "$(which wget)" ]; then
wget -O salida http://totaki.com
elif [ -n "$(which curl)" ]; then
curl -o salida http://totaki.com
else
echo "No puedo descargar el fichero"
exit 1
fiDe modo que probamos la existencia de diferentes programas y utilizamos el que tengamos a disposición.… Leer artículo completo
Cómo convertir una cantidad de segundos a horas, minutos y segundos en Bash
El título del post lo dice claro. Imaginemos que tenemos un número grande, por ejemplo 58492, y que ese número son los segundos que ha tardado una tarea en realizarse, o el tiempo que ha pasado desde un evento determinado, pero a nosotros como humanos, este número no nos dice nada, lo entenderíamos mejor si lo expresamos como 16:14:52 como en todo, tenemos varias formas de hacerlo y voy a proponer dos.… Leer artículo completo
Últimos comentarios