enero 07, 2011

Creando script para bash, primera aproximación

Y bueno, hace tiempo que no posteaba... tenía varias ideas, pero nada de tiempo... hasta que por fin me ha dado por escribir, algo que si bien no es muy práctico, para algunos puede ser simpático y/o útil.

He comenzado con esto de escribir scripts... el primero fue uno para bajar un manga (Bakuman) desde el sitio http://www.animextremist.com (manga que recomiendo mucho)

El tema es que luego me ha picado el bicho de optimizar algunas tareas, así que trabajo en ello. Aquí presento mi script para bajar algunos software del sitio de AutoDesk, como lo son AutoCad Inventor 2010 y AutoCad 2010, en versiones en español para 32 y 64 bits.

A continuación, el código


#! /bin/bash
clear
echo Escriba qué software desea descargar
echo
echo [1] AutoCAD Inventor 2010 Student Version Spanish 32bit
echo [2] AutoCAD Inventor 2010 Student Version Spanish 64bit
echo [3] AutoCAD 2010 Spanish 32bit
echo [4] AutoCAD 2010 Spanish 64bit
echo
same="http://studentsdownload.autodesk.com/ef"
read ans
case $ans in
[1]* ) soft="AutoCAD Inventor 2010 Student Version Spanish 32bit"
url="$same/47549/293/3262293/AutoCAD_Inventor_2010_Student_Versio
n_Spanish_Win_32bit.exe"
;;
[2]* ) soft="AutoCAD Inventor 2010 Student Version Spanish 64bit"
url="$same/47549/283/3262283/AutoCAD_Inventor_2010_Student_Versio
n_Spanish_Win_64bit.exe"
;;
[3]* ) soft="AutoCAD Inventor 2010 Student Version Spanish 64bit"
url="$same/47549/93/2755093/AutoCAD_2010_Spanish_MLD_WIN_32bit.exe"
;;
[4]* ) soft="AutoCAD Inventor 2010 Student Version Spanish 64bit"
url="$same/47549/83/2755083/AutoCAD_2010_Spanish_MLD_WIN_64bit.exe"
;;
* ) clear ; echo No ha ingresado un valor correcto. ; sleep 1 ;
echo Se aborta la descarga. ; sleep 3 ; clear ; exit
;;
esac
clear
echo "Se incia la descarga de "$soft" en "
echo $HOME/Descargas " ,desea continuar [S/n]?"
read resp
case $resp in
[Ss]* ) mkdir -p $HOME/Descargas
cd $HOME/Descargas
directorio="$HOME/Descargas"
;;
[Nn]* ) echo ; echo "Desea especificar otro destino de descarga [S/n]?"
read resp2
case $resp2 in
[Ss]* ) echo "Especifique el directorio de descarga:"
read directorio
mkdir -p $directorio ; cd $directorio
;;
[Nn]* ) clear ; echo Se aborta la descarga ; sleep 3 ; exit
;;
* ) clear ; echo Opción no válida ; echo Se aborta la descarga ; sleep 3
exit
;;
esac
;;
* ) clear ; echo Se aborta la descarga ; sleep 3 ; exit
;;
esac

wget -q -c $url &
sleep 2
clear
echo "Ha comenzado la descarga de $soft exitosamente." ; echo
echo Ésta se realiza en segundo plano ; sleep 3 ; echo

cd $directorio
while true ; do
clear
echo Ahora puede cerrar la ventana.
echo Si quiere detener la descarga, escriba en una consola
echo "killall wget"
echo
echo "Se han descargado"
du -h AutoCAD_*
sleep 1
done



Qué hace esto? En realidad es un trabajo en progreso...

  1. Te muestra una lista de programas disponibles para la descarga, asociados a un número. Tú debes elegir algún número (de lo contrario el programa se cierra) para descargar.
  2. Te pregunta si quieres descargar el archivo en /home/usuario/Descargas, o de lo contrario, indicar dónde se descargarán los archivos.
  3. Comienza la descarga, y la deja en segundo plano, de manera de que al cerrar la consola, la descarga no se interrumpa.
  4. Te muestra cuánto se ha descargado del archivo.
Problemas, o más bien, cosas a optimizar
  1. Decir cuánto pesa el archivo, y decir si es que en el directorio de la descarga hay espacio suficiente para tal efecto.
  2. Encontrar un método más efectivo para pausar/cancelar la descarga. Actualmente el único método es matando el proceso killall wget
  3. Mostrar el estado de la descarga en forma porcentual. Y de manera más ambiciosa, el tiempo estimado de descarga.
  4. Mejorar la gramática, puesto que siento que el usuario toma demasiadas decisiones... Tal vez debería ser más cabrón (como el apt-get install, que lo único que pregunta -cuando lo hace- es preguntar si se quiere realizar o no la descarga)
Bueno, como dije, es un work in progress, y a pesar de mis bajas expectativas, a tenido buena aceptación con mis amigos (relativamente)-computines.

Ventajas

  1. A pesar de ser algo incómodo, puedes ejecutar cuántas veces quieras el script, y seleccionar en cada una de esas veces, un software diferente. El programa comenzará la descarga simultáneamente de tus selecciones.
  2. El proceso de descarga es en segundo plano. (Pongo mejor mi ejemplo, para que se entienda la ventaja de esto: estaba en el trabajo, con el notebook, terminando el script en vez de trabajar, y una vez listo, lo corrí en el pc de escritorio de mi casa - por SSH. Así que cuando apagué el portátil, el proceso continuó descargando el Inventor en mi casa, y cuando llegué, la descarga ya se había realizado).
  3. No consume muchos recursos. Lo corrí en un pc medio viejo, y lo más que ocupó, fue un 3% de la CPU.

Eso de momento. A ver cómo termina este programilla. Qué opinas tú?

septiembre 21, 2010

House MD S07E01


Continua mi serie favorita....nada mas que decir... realmente "nuclear" xD

septiembre 04, 2010

Set de wallpapers minimalistas

Que el conky, el emerald, el dock, el applet, el AWN, el....aaaaaaah, cuanta cosa puede haber en nuestros escritorios puede ser realmente estresante...

Desintoxicalo un poco, con estos sets minimalistas:

Mensajes minimalistas


Como en el cielo


LaTeX - Creando documentos profesionales | Parte 1/?

Aburrido de que la plantilla que usas para OpenOffice.org Writer no quede como querías?
Quieres darle una apariencia más profesional a tu informe?
Tienes que escribir una publicación, y no sabes cómo?
Cómo hicieron esa presentación tan espectacular que viste hoy en el trabajo/escuela?

Bueno, probablemente lo hicieron con LaTeX. Pero, que demonios es LaTeX? Según Wikipedia (lo siento)
Es un sistema de composición de textos, orientado especialmente a la creación de libros, documentos científicos y técnicos que contengan fórmulas matemáticas.
LaTeX está formado por un gran conjunto de macros de TeX, escrito por Leslie Lamport en 1984, con la intención de facilitar el uso del lenguaje de composición tipográfica, TeX, creado por Donald Knuth. Es muy utilizado para la composición de artículos académicos, tesis y libros técnicos, dado que la calidad tipográfica de los documentos realizados con LaTeX es comparable a la de una editorial científica de primera línea.
LaTeX es software libre bajo licencia LPPL.

Nada mal, eh? Veamos un ejemplo: uno de mis informes

Análisis FSI de una aneurisma ideal esférica en Adina

Antes, tb, un poco de bibliografía:
La introducción no-tan-corta a LaTeX2e (o LaTeX2e en 150 minutos) - Tobias Oetiker, Hubert Partl, Irene Hyna y Elisabeth Schlegl

Ingredientes

Para continuar, necesitaremos algunas cosas (pensando en un pc con Debial Lenny como distro): LaTeX en si mismo.Y eso sería suficiente, sin embargo, para simplificarnos la cosa, y por el tema de la ayuda que posee, TeXMaker

El modo simplificado, por consola

$ apt-get install texmaker

Eso, para mi sorpresa, no solo te instala el programa TeXMaker, sino que además todos los paquetes de latex (en realidad tetex) necesarios

septiembre 03, 2010

[Off topic: Anime] HSOTD - High School Of The Dead

Si, lo sé, estoy dispersando ya, pero es que estoy medio colapsado, y como "debo" terminar un informe para unas horas más, prefiero "distraerme" en alguna cosa, y bla bla bla.

El tema es este: estoy enganchado con este animé: High School Of The Dead.

De qué trata? Diantres, eso es lo peor de todo, la trama no es nada nuevo: nuestro mundo es atacado por una especie de epidemia: la gente no muere, se convierten en zombies, que a menos de que se les rompa la cabeza, son capaces de atacarte. Viste que no tiene nada de nuevo?

Sin embargo, y por alguna tonta fascinación, los animé con los que me distraigo siempre tienen un factor en común: los personajes son increíblemente esbeltos :S, o de facciones finas, no lo se, pero siempre me han llamado la atención.

agosto 31, 2010

Instalando Comsol en Debian Lenny

Para quienes no sepan, Comsol es, según Wikipedia
(...) es un paquete de software de análisis y resolución por elementos finitos para varias aplicaciones físicas y de ingeniería, especialmente fenómenos acoplados, o multifísicos.
Como estudiante de Ingeniería Civil Mecánica a quien le gustan la temática de la bio-mecánica, y todo el cuento de transferencia de calor y masa y fluidodinámica, es un software indispensable.

Además, que tiene una opción que me parece simplemente genial: es compatible con Matlab

Ahora, si necesitas más información, puedes visitar el sitio oficial de Comsol.

El tema que me interesa es la instalación, así que, vamos a ello.

Por lo menos yo tengo una imagen de la versión 3.5a, así que de ella me basaré para la instalación...

Primero, el montaje de la iso: en una consola

Related Posts with Thumbnails