python perl awk tcl expect

python - Otras soluciones/idiomas que son superiores a la Expectativa basada en TCL?



perl awk (4)

Me sorprende cómo Expect (TCL) puede automatizar muchas cosas que normalmente no podría hacer.

Pensé que podría profundizar en Expect leyendo un libro, pero antes de hacerlo quiero preguntar si hay otras soluciones / idiomas que puedan hacer lo que espera.

P.ej. He leído que la gente compara Expect with Awk y Perl.

¿Podrían Awk y Perl hacer lo mismo?

¿Qué hay de otros lenguajes como Python y Ruby?

¿Esperan la herramienta de automatización de facto o hay otras soluciones / idiomas que son más superiores?



Echa un vistazo a Pexpect para Python


Hay más para eso.

Sin rodeos, el Expect original, el Tcl Expect, es el mejor. Es mejor que admita "interactuar" y varias excentricidades pequeñas que cualquiera de sus sucesores. No tiene superior, por lo que hace.

SIN EMBARGO, al mismo tiempo, la mayoría de los usuarios de Expect aprovechan una fracción tan pequeña de las capacidades de Expect que esta superioridad técnica les resulta indiferente. En casi todos los casos, le aconsejo a alguien que provenga de Perl que use Expect.pm, alguien familiarizado con Python que confíe en Pexpect, y así sucesivamente.

Las ingenuas comparaciones de Perl con "... Awk y también Perl" están mal fundamentadas.

En resumen, todos los lenguajes de scripting comunes: Lua, awk, sh, Tcl, Ruby, Perl, Python, ... son casi lo mismo. Espere un poco, pero de manera muy efectiva extiende este núcleo común en la dirección de pty-awareness (hay un poco más de la historia que podemos descuidar por el momento). En términos generales, si su automatización implica ingresar una contraseña invisible, desea Esperar. Awk y Perl NO construyen en esta capacidad.

Hay otras herramientas de automatización para otros contextos.


ajsie pregunta: "¿De qué otras herramientas de automatización estás hablando?"

Responderé a una pregunta diferente: "¿qué otros contextos tengo en mente?" La respuesta: cualquier entorno interactivo OTRO que uno stdio. La expectativa NO es la automatización de los puntos y clics de la GUI, por ejemplo. Expect tampoco está disponible para aplicaciones Win * que no sean de consola, incluso si parecen estar orientadas a caracteres (existen).

Una emocionante contra-realización: Esperar es para la automatización de equipos absurdos que permiten el control mediante una conexión similar a un término. Si su motor diesel (o, más típicamente, hierro de telecomunicaciones) dice que puede ser monitoreado conectando un proceso similar a telnet (incluso a través de una línea serie de estilo antiguo, por ejemplo), se encuentra en un dominio donde Expect tiene una posibilidad para trabajar su magia