Igor: Mayordomo en bash
Nombre: igor (mayordomo)
Autor: jsa_
Origen: propio
Lenguaje: bash
Licencia: GPL
Propósito: Una aproximación a un mayordomo para facilitar tareas habituales para fanáticos de la consola.
Dependencias: pidgin, skype, iceweasel, scripts rae y wr (diccionario real academia española y diccionario wordreference que se hallan colgados en esta misma colección de scripts). Se recomienda usar terminales emergentes tipo tilda/yaquake para acceder con rapidez al mismo.
Código:
#!/bin/bash
# Un intento de mayordomo en bash/sh
# ver. 0.1
# tratamiento de la cadena de parámetros para wikipedia/google/youtube
function tratarCadena {
vartratada=`echo $@|sed 's/\ /+/g'`
}
while [ "$#" -gt 0 ]
do
case $1 in
# opciones de wordreference
traduce | wr | -t)
/home/usuario/bin/wr "$2"
shift 2
;;
# opciones de rae
define | rae | -d)
/home/usuario/bin/rae "$2"
shift 2
;;
# opciones de wikipedia
wikipedia | wiki | wp | -w)
tratarCadena $2
/usr/bin/iceweasel "http://en.wikipedia.org/wiki/Special:Search?search="$vartratada"&sourceid=Mozilla-search" &
shift 2
;;
# opciones de google
busca | google | -g)
tratarCadena $2
/usr/bin/iceweasel "http://www.google.com/search?hl=es&client=iceweasel-a&rls=org.debian%3Aes-ES%3Aunofficial&q="$vartratada"&btnG=Buscar&lr=&aq=f&oq=" &
shift 2
;;
# opciones de youtube
youtube | -y)
tratarCadena $2
/usr/bin/iceweasel "http://www.youtube.com/results?search_query="$vartratada"&search_type=&aq=f" &
shift 2
;;
# opciones de skype
skype | -s)
cd /home/usuario/software/skype_static-2.0.0.72-oss/
./skype &
shift
;;
# opciones de messenger
msn | messenger | pidgin | -m)
/usr/bin/pidgin &
shift
;;
# opciones de comunicaciones
comunicaciones | comm | -c)
/usr/bin/pidgin &
cd /home/usuario/software/skype_static-2.0.0.72-oss/
./skype &
shift
;;
# opciones del router
router | -r)
/usr/bin/iceweasel "http://192.168.1.1/" &
shift
;;
# opciones por default
*)
echo -e "\nÉstas son las opciones disponibles, amo.\n"
echo -e "Sintaxis: igor opción \"términos\" opción2 \"términos2\" ... opciónN \"términosN\"\n"
echo "igor -t|traduce|wr <términos a traducir del inglés por wordreference>"
echo "igor -d|define|rae <términos a definir por el diccionario de la RAE>"
echo "igor -w|wikipedia|wiki|wp <términos a buscar en la wikipedia inglesa>"
echo "igor -g|busca|google <términos a buscar en google>"
echo "igor -y|youtube <términos a buscar en youtube>"
echo "igor -s|skype arranca skype"
echo "igor -m|msn|messenger|pidgin arranca pidgin para mensajería instántanea"
echo "igor -c|comunicaciones|comm arranca los programas skype, pidgin"
echo "igor -r|router abre la configuración del router"
echo "igor -i|internet realiza una serie de pruebas de internet"
break
;;
esac
done
echo -e "\nIgor, tu fiel servidor. Pruebe -h para opciones."
Ejemplos de uso:
igor google "debian mola" -w "jimi hendrix" -g "una búsqueda más"
Esto lanzado en la consola haría que se abrieran 3 pestañas de iceweasel una con una búsqueda de google con el texto "debian mola", otra con la página de búsqueda de wikipedia en inglés de "Jimi Hendrix" (si existe el término va directamente a la wiki en cuestión) y otra más con una búsqueda de google con el texto "una búsqueda más"
igor -c -y "eu sei que vou te amar" youtube "jimi hendrix"
Lanzaría skype y pidgin y abriría una pestaña de iceweasel con la búsqueda en youtube "eu sei que vou te amar" y otra con la búsqueda "jimi hendrix"
igor rae "caló" -w "dog"
Devuelve por consola la definición de "caló" y la traducción de "dog"
Comentarios:
He hecho esto hoy en un rato aburrido y le hace falta pulir muchos detalles. Para instalarlo recomiendo ponerlo en un path como el ~/bin. Hace falta adaptar las rutas para el skype y para los scripts de rae y wr para consultar diccionarios.
Si se os ocurren mejoras/correciones os animo a que las añadáis.
Aunque es algo bastante trivial, me resulta muy útil este script para automatizar tareas que repito muy a menudo y que detesto hacer usando el ratón (busquedas en google, youtube y wikipedia)