Concurso Scripting Navaparty 2005 --------------------------------- Ganará el concurso la persona o grupo que antes entregue unos scripts funcionales. En caso de que nadie haya finalizado todos los scripts, ganará el grupo que más scripts correctos haya conseguido realizar, y en caso de que haya dos personas o grupos que hayan conseguido aproximádamente los mismo, el ganador lo elegirá el tribunal dependiendo de la claridad, originalidad y funcionalidad del código fuente. Se pueden utilizar lenguajes interpretados libres. Si el lenguaje se sale un poco de los habituales, el participante deberá indicar donde conseguir ese lenguaje concreto y como instalarlo "para tontos". Prueba 1) A veces, buscar un archivo con el comando 'find' resulta un poco largo. Realizar 2 instrucciones, "actualiza" y "busca". Cuando el usuario ejecute "actualiza", se guardará una lista de todos los archivos que contenemos en el disco duro. Cuando el usuario ejecute "busca loquesea" encontrará todos los archivos que contengan la cadena "loquesea" en su nombre en el disco duro. Ejemplo: Ejecutar: ./actualiza Nos actualizará la lista de ficheros disponibles Y si ejecutamos: ./localiza openGL nos dará una salida parecida a la siguiente: /lib/openGl.so.1 /usr/share/doc/openGL/ ... Prueba 2) Ahora añadiremos capacidad para almacenar el contenido de los cdrom al script anterior. Para ello, los nuevos comandos serán "actualizaCD nombrecd" donde nombrecd es una cadena con la que el usuario reconocerá ese cd. Por ejemplo: ./actualizaCD debianCD1 <-- debianCD1 es el nombre que le da el usuario al cd. ./actualizaCD debianCD2 <-- Para ejecutarlo, antes el usuario debe de haber introducido el cd (no montado aun). Por defecto el script leerá el cd al que se accede desde /dev/cdrom. El otro comando será "localizaCD nombreaEncontrar", Este comando nos indicará en que cd se encuentran los archivos que queremos, pero no nos dirá cuales son. Por ejemplo, si ejecutamos: ./localizaCD programaX la salida será parecida a la siguiente: debianCD1 También crearemos otro comando "buscaCD". Este comando es el encargado de localizarnos los archivos que queramos en un cd concreto. Esto lo hacemos para que no nos salgan los archivos de todos los cd's, evitando asi una salida un tanto caótica. ./buscaCD debianCD1 progamaX Dará una salida similar a la siguiente: /pool/packages/b/programaX.deb /pool/packages/lib/libProgramaX.deb Prueba 3) Vamos a complicarlo un poquito más. Ahora, tambien almacenaremos los contenidos de las cabeceras de los archivos .mp3. Con esto lo que queremos hacer es un buscador de mp3 que haya en nuestros CDs. Comando de actualizar: ./ActualizaCDMP3 nombre; donde nombre es el nombre que nosotros le damos al cd. ./localizaMP3 trouble la salida será parecido a: trouble está en: alter-vol1 \ alter-vol5 } lista cd cd's donde se encuentra la cancion ... / o el grupo con el nombre trouble. Y como en la anterior, también tenemos el comando que nos indica que ficheros coinciden con nuestra búsqueda: ./buscaMP3 alter-vol1 trouble Y la salida seria: /mp3/alternativa/coldplay/trouble.mp3 ...