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.
En medio de las vacaciones de verano del hemisferio sur, y entre tantas pobres noticias del mercado futbolero y automotriz; aparece en mis feeds GNOME 3 – Made of Easy. Fue esa lectura la que me hizo recordar de Gnome 3, la esperada novedad que debería salir a la luz no antes de Abril del presente año… aunque de ahí a que llegue a las principales distros de Linux habrá que esperar algo más.
“El nuevo escritorio de GNOME eleva la elegancia a un nuevo nivel. Simple, bello, GNOME3 ha <barrido> el desorden existente para llegar a un escritorio sencillo, simple, facil de usar y más hermoso que nunca; con nuevo tema, nueva fuente y animaciones cuidadas.”
No obstante, ansioso, sin poder esperar su lanzamiento hice lo mismo que había echo tiempo atrás, Try it out!. El proceso es sencillo, bajar los fuentes y compilar… cosa que está bien aqui, que se resume en pocos pasos y que de no mediar problemas, apt-get install‘s de por medio se resume en:
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.
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.
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.
En esta publicación lo que sobran son las palabras y vamos directo a los hechos. A continuación veremos varios ejemplos del uso del comando grep.
Usamos grep para buscar una palabra dentro de un archivo en Linux, pero… ¿hasta donde podemos llegar con su uso?
mp3blaster es un reproductor de audio, capaz de reproducir los formatos tradicionales (mp3,wav, ogg) pero que cambia las clásicas interfaces vistosas por una mucho más varonil, como es la consola.
mp3blaster fue creado para varios sistemas basados en UNIX (Linux, Free/Net/OpenBSD, etc)
Esto me ha parecido realmente muy interesante y original: googsh.org – the unofficial google shell, algo así como una interfaz de Google que se comporta como un shell de Unix.
El shell (caparazón) de un sistema operativo es la interfaz que media entre el usuario y el sistema operativo. Básicamente, su función es la de interpretar, ejecutar y devolver una respuesta a lo que el usuario escribe por línea de comandos.
El shell, en definitiva, no es más que un ejecutable que interpretar los comandos transmitirlos. Existen varios tipos de shell: