Cargando la página...

Interprete de comandos

Por Gastón el 25 de abril de 2009 en los siguientes foros: GNU/Linux PERL Python

Interprete de comandos

Avatar de Gastón
Quiero preguntarles cual interprete de comandos (bash, tcl, perl, incluso python o algún otro que pueda usarse en linux como interprete de comandos) es el más completo y óptimo para realizar tareas de mantenimiento automatizadas en servidores linux.

Según sus experiencias...
¿Con cual se llevan mejor y porqué?
¿Existen funciones que cierto interprete de comandos no pueda realizar y otros si? ¿Cuales por ejemplo?
Elegir lenguajes de programación como PERL o Python dan un aporte extra al asunto, pero estamos hablando específicamente de tareas de administración y mantenimiento, entonces ¿Vale la pena usar un lenguaje de propósito general como los anteriormente mencionados en lugar de interpretes de comandos concebidos únicamente para ser utilizados como tales?

Solución (respuesta) elegida por el iniciador del debate

Sherekan - Publicado el 27 de abril de 2009


Avatar de Sherekan
Un lenguaje de shell scripting es muy portable, ya que (si está bien escrito) puede correr en cualquier sistema Unix/GNU. Además, para tareas de sysadmin, que involucran mucho manipulación de ficheros y comunicación entre procesos, es ideal. Ya que fue hecho justamente para eso.
Sin embargo, todos sabemos que Perl es mucho más poderoso para el procesamiento de textos, y sus PCRE mucho más complejas y poderosas que las de POSIX... Por lo que, en lo que a procesamiento de textos se refiere, usaría Perl cuando necesite procesar grandes cantidades de texto, pero ni se me pasaría por la mente usarlo para hacer algo que puedo hacer con AWK o SED, ya que estaría solamente agregando un montón de overhead innecesario.
Se pueden hacer muchas cosas más con Perl, claro. Y además está lleno de excelentes librerías libres por ahí (pero ojo, esto juega en contra en cuanto a portabilidad se refiere).
Como estamos hablando de tareas de sysadmin, mi conclusión (tal vez algo subjetiva) es usar Bash (ya que es más nativo para manipular ficheros, procesos, etc.). Y en los casos en que se requiera manipulación de datos estructurados o procesamiento de textos en grandes cantidades, usar Perl.

Gracias por responder

Respuestas

1
27
abril
2009
Avatar de Sherekan

Sherekan 1 puntos

Un lenguaje de shell scripting es muy portable, ya que (si está bien escrito) puede correr en cualquier sistema Unix/GNU. Además, para tareas de sysadmin, que involucran mucho manipulación de ficheros y comunicación entre procesos, es ideal. Ya que fue hecho justamente para eso.
Sin embargo, todos sabemos que Perl es mucho más poderoso para el procesamiento de textos, y sus PCRE mucho más complejas y poderosas que las de POSIX... Por lo que, en lo que a procesamiento de textos se refiere, usaría Perl cuando necesite procesar grandes cantidades de texto, pero ni se me pasaría por la mente usarlo para hacer algo que puedo hacer con AWK o SED, ya que estaría solamente agregando un montón de overhead innecesario.
Se pueden hacer muchas cosas más con Perl, claro. Y además está lleno de excelentes librerías libres por ahí (pero ojo, esto juega en contra en cuanto a portabilidad se refiere).
Como estamos hablando de tareas de sysadmin, mi conclusión (tal vez algo subjetiva) es usar Bash (ya que es más nativo para manipular ficheros, procesos, etc.). Y en los casos en que se requiera manipulación de datos estructurados o procesamiento de textos en grandes cantidades, usar Perl.
2
27
abril
2009
Avatar de Jim Unikornian

Jim Unikornian 0 puntos

Coincido: BASH