Después de aclarar que no veo nada de malo en que reinventes la rueda para aprender un lenguaje, ahí va una forma mucho más sencilla de conseguir lo mismo:
python -m SimpleHTTPServer
Y ahora sólo hay que abrir en una navegador la dirección IP con el puerto 8000.
links http://localhost:8000/
Una prueba más de que Python es muy poderoso.
-- "La ilusión es el primero de los placeres." Voltaire.
Re:Python rocks!
de MaGaO
(Puntos:2)
Lunes, 16 Febrero de 2009, 22:32h
por
pobrecito hablador
el Martes, 17 Febrero de 2009, 03:57h
(#1128163)
Cuando hayas acabado con la Bash Guide for Beginners, te recomiendo;-) que pases a la Advanced Bash-Scripting Guide [tldp.org], que básicamente tiene todo lo que se puede necesitar. Y por último, en plan referencia, pues el propio manual de Bash. Por cierto, un libro muy reciente y bastante recomendable es Beginning Portable Shell Scripting [amazon.com] (para el que quiera echarle un ojo, comento que circula por las páginas de descargas directas).
Con respecto al script te comento alguna cosilla...
El script falla con los ficheros y directorios cuyos nombres tengan espacios en blanco. Eso es porque bash, al ir asignando valores a la variable 'i' del for, trocea la salida de find no solo en los carateres nueva línea sino también en los espacios en blanco. Una forma de solucionarlo es hacer que solo trocee en los caracteres nueva línea. Para ello hay que redefinir la variable IFS [blogspot.com], que es la que especifica los separadores de campos.
Otra cosa, los sed del final fallan cuando el nombre del directorio acaba por '/' (cuando pulsas TAB para completar un nombre, bash siempre añade '/' a los directorios). Esa posible barra la omites si expandes el argumento así: ${1%/}. Igualmente, el sed que utilizas para eliminar el path de los nombres es prescindible al ser algo que puede hacerse directamente con las opciones [tldp.org] de expansion de variables... sería: ${i##*/}
Si usas, por ejemplo, apache...
(Puntos:2)( Última bitácora: Lunes, 29 Octubre de 2012, 18:48h )
Guías sobre bash
(Puntos:2)Interesante tu script.
En Linux Documentation Project [tldp.org] hay varios documentos buenos y actualizados.
En tu escrito, el primero de los enlaces tiene un error: es .info, no .com
Python rocks!
(Puntos:2)( http://condottierigame.net/ | Última bitácora: Lunes, 23 Mayo de 2011, 19:00h )
Después de aclarar que no veo nada de malo en que reinventes la rueda para aprender un lenguaje, ahí va una forma mucho más sencilla de conseguir lo mismo:
Y ahora sólo hay que abrir en una navegador la dirección IP con el puerto 8000.
Una prueba más de que Python es muy poderoso.
"La ilusión es el primero de los placeres." Voltaire.
Más recomendaciones
(Puntos:3, Informativo)Con respecto al script te comento alguna cosilla...
El script falla con los ficheros y directorios cuyos nombres tengan espacios en blanco. Eso es porque bash, al ir asignando valores a la variable 'i' del for, trocea la salida de find no solo en los carateres nueva línea sino también en los espacios en blanco. Una forma de solucionarlo es hacer que solo trocee en los caracteres nueva línea. Para ello hay que redefinir la variable IFS [blogspot.com], que es la que especifica los separadores de campos.
Otra cosa, los sed del final fallan cuando el nombre del directorio acaba por '/' (cuando pulsas TAB para completar un nombre, bash siempre añade '/' a los directorios). Esa posible barra la omites si expandes el argumento así: ${1%/}. Igualmente, el sed que utilizas para eliminar el path de los nombres es prescindible al ser algo que puede hacerse directamente con las opciones [tldp.org] de expansion de variables... sería: ${i##*/}
Creo que nada más
:D
Disfruta con bash