Este blog, me ha sido en más de una ocasión, mi ayuda memoria ideal. En otras tantas ocasiones, un link al mismo me permitió “ayudar al prójimo”, más bien, ahorrarme tiempo de utilización de cuerdas vocales y ahorrar al otro el fastidio de escucharme.

Por tal motivo, y ante un requerimiento del primer tipo (como “ayuda memoria”) quiero publicar algo que frecuentemente utilizo (o que cuando no es tan frecuente mi fragil memoria olvida):

¿Cómo hacer un loop infinito en un intérprete de comandos (sh, ksh o similar)?

Pongamos unas comillas al “infinito”, todo concluye al fin, nada puede escapar a un Ctrl+C o a un break (produce un abandono inmediato) dentro del bucle.

(más…)

¿Como conocer mi IP privada y mi IP pública?, esa es la cuestión.

Vamos a ver un pequeño script para lograr este propósito utilizando algunos comandos ya vistos y utilizados en la historia de este blog con varios distintos propósitos (ifconfig, grep, cut, awk, wget, sed)

(más…)

Casi dos meses después de la última publicación, es necesario dar “señales de vida” del blog, que nunca fue discontinuado… pero que se mantuvo en “pausa” por falta de “inspiración” ;-)   Y para volver, que mejor que con un clásico: hacer “cosas” desde la terminal (hoy estoy muy “comillero”)

A las publicaciones de tiempo atrás de Center IM, mp3blaster y Lynx hoy aprenderemos a enviar tweets desde la terminal utilizando cURL-

cURL es una herramienta, que muy probablemente tengas instalado en tu GNU/Linux o BSD, que nos permite enviar a una datos a una URL utilizando los protocolos HTTP, HTTPS, FTP, FTPS, etc.

(más…)

sed es un “editor de textos” para el filtrado y la transformación de textos. Escribo “editor de texto” entre comillas pues en realidad sed no trabaja con cadenas de caracteres sino con “flujos”, la diferencia con los editores de textos clásicos (interactivos) es que sed acepta como entrada estándar un archivo o cualquier otro stream; resultado que es procesado y devuelto a la salida estándar (vea más acerca de stdin, stdout y stderr aquí)

(más…)

Este es otro de mis pequeños scripts que suelo utilizar y/o adaptar para diferentes circunstancias. Un script sencillo, escrito para Korn Shell pero fácilmente portable a Bash u otro similar.

Para ser ciertos, más que scripting, este ejemplo es una clase de find, un comando tan potente que casi que nos permite “programar” con find ;-)

Antes de pasar a ver el código, comento un poco la necesidad que dió origen a este pequeño ejemplar para que tu puedas interpretarlo y, por que no, adaptarlo a tu necesidad.

La cuestión es así, mis aplicaciones y procesos sin logs no tienen razón de ser, todo se loguea, con fines de detectar anomalías, ver errores de software e incluso para hacer auditorias.

(más…)

Esta publicación es pequeña pero muy efectiva, básicamente se trata de un script para buscar en la wikipedia desde la consola, valiéndose simplemente del comando dig.

terminal

(más…)

Trappear Ctrl+C en bash

En alguna ocasión, puede resultar útil trappear señales en los shell scripts. Un ejemplo clásico de señal a trapear es el famoso Ctrl+C (^C).

Trappear una señal es fácil, simplemente debemos definir una acción (o función) que se ejecutará al momento de recibir la señal, y luego definir las señales a trappear con el comando trap.

(más…)

No suele ser costumbre utilizar la instrucción declare en Bash, de echo, hasta algunos quizás no la conozcan. Lo cierto es que Bash, al no ser un lenguaje fuertemente tipado y no requerir la declaración explícita de variables, nos permite prescindir de su utilización.

No obstante esto, si declaramos las variables podemos lograr algunos beneficios para casos puntuales, hasta incluso evitar errores de ejecución.

A continuación veremos algunos ejemplos para saber de que estamos hablando con esto de declarar las variables en Bash.

(más…)

Ejemplos de loops en Bash

Muchas veces el poco conocimiento acerca de la programación de shell scripts y el propio intérprete de comandos hace que hagamos el doble de trabajo para trabajos simples que se pueden resolver con un sencillo script.

Por tal motivo y con ánimo a conocer un poco más acerca de algún shell de Unix, veremos algunos ejemplos cuidadosamente explicados de como hacer loops en Bash (el shell sucesor del Bourne y escrito para el proyecto GNU).

(más…)