10 votos

De secuencias de comandos de alternativas a la shell Bash scripts

Acabo de migrar a una estación de trabajo UNIX. Mi memoria de Bash scripts de shell se ha desvanecido desde la escuela y me encuentro con la sintaxis a ser muy confuso. Me pregunto qué otros lenguajes de secuencias de comandos son utilizados para automatizar tareas. Los dos más populares que he escuchado son de Perl y Python.

  1. Que lenguaje de secuencias de comandos es el más ampliamente utilizado por el mundo real las tiendas ?
  2. Que lenguaje de secuencias de comandos más se asemeja a C/C++ sintaxis ?
  3. Hay otro lenguaje de scripting que yo no soy consciente de que ?

Gracias por tu ayuda,

Scott

21voto

EBGreen Puntos 981

Yo diría que perl y python son probablemente las dos mejores alternativas. Usted puede hacer un montón con sed y awk así.

12voto

Some Guy Puntos 1242

Hasta cierto grado es una cuestión de preferencia personal. Perl y Python son, definitivamente, hasta que en términos de popularidad.

Para responder a dos de sus tres preguntas, a pesar de que:

  1. Me imagino que bash es el más ampliamente utilizado, probablemente seguido por perl. Simplemente adivinando sin embargo, no sé si alguien ha hecho una encuesta. :)
  2. Hay bazillions de lenguajes de secuencias de comandos por ahí. :)

Mi recomendación es Python, aunque. Es fácil de leer y de escribir, inmensamente poderoso, y hay un montón de recursos útiles en la web para el aprendizaje, por no hablar de código que se puede copiar y re-uso.

4voto

Michael Pobega Puntos 748

Perl y Python son, obviamente, las respuestas; pero cada uno de ellos se utiliza para realizar tareas diferentes:

  1. Bash - en Manos de los más fáciles de aprender. Con scripts de Bash ejecuta los comandos y manipular la salida.
  2. Python - Segundo más fáciles de aprender. Python es la forma más útil de Bash ya que se puede usar Python para escribir programas completos, y es apoyado por la comunidad. Python también es muy legible y fácil de editar meses más tarde.
  3. Perl - La mejor de las tres (secuencias de comandos), pero fácilmente a la más empinada curva de aprendizaje. Tiene muy buena compatibilidad con expresiones regulares (que es la principal razón por la que es todavía en uso hoy en día), y es probable que se ejecute en un montón de scripts de Perl a lo largo del tiempo. Los principales problemas con Perl es la legibilidad del código -- meses después de escribir el código que usted no será capaz de averiguar lo que hace. Así que mejor comentario fuertemente.
  4. Awk/Sed - Ambos muy útil, pero a la vez muy difícil de aprender. Te sugiero hacer frente a estos últimos, a menos que usted es bueno en los patrones.

Respecto de las cuales una a aprender ahora mismo (ya que, presumiblemente, no conocen a ninguno de ellos), me gustaría aprender Python. Es la más sencilla y útil conocer.

Y en cuanto a las respuestas a sus preguntas:

Que lenguaje de secuencias de comandos es el más ampliamente utilizado por el mundo real las tiendas ?

A todos ellos, pero me imagino que Perl tiene un poco de ventaja aquí (que ha estado en uso en el sistema de administración por mucho más tiempo).

Que lenguaje de secuencias de comandos más se asemeja a C/C++ sintaxis ?

Perl

Hay otro lenguaje de scripting que yo no soy consciente de que ?

Ruby, Tcsh/Csh, http://en.wikipedia.org/wiki/Interpreted%5Flanguage

2voto

slovon Puntos 797

awk para trabajos pequeños, python, por más que oneliners.

Python (si no hace uso de las APIs específicas y otras que dependen de la plataforma cosas) tiene una rica "de la biblioteca estándar", que está disponible en todas las plataformas donde se obtiene la versión de python en uso. Esto es muy bueno como se puede re-utilizar los scripts fácilmente y significa que su conocimiento es una buena inversión, incluso si usted cambia su plataforma.

En nuestra empresa utilizamos python para todas las secuencias de comandos, seguimiento, ... y java para La aplicación, y estamos bien en el entorno heterogéneo.

1voto

Eric Labashosky Puntos 4724

Sh (bourne shell), grep, awk y sed es siempre una buena cosa para conseguir a los apretones de nuevo. Perl es excelente si quieres un montón de texto regexing y el mantenimiento no es importante (no dice que no es posible). Python; si la legibilidad es importante para usted. Mi preferencia es Python, pero todas estas herramientas son buenas para la mayoría de las cosa que lanzar en él. Usted puede desear reconsiderar la c/c++ sintaxis requisito, mantener atrapado en él no le ayudará en el largo plazo.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: