tcl expect

tcl - ¿Hay alguna diferencia entre "enviar_usuario" y "pone" en Esperar?



expect (2)

He estado usando Expect durante algunos años, pero aún no está claro si send_user es lo mismo que puts . Cada vez que quiero enviar un mensaje informativo al usuario, me pregunto cuál debo usar. Desde la página de manual de Expect, parece que send_user es el mismo que puts pero ¿para qué se usa send_user ?


La principal diferencia es que puts automáticamente anexa una nueva línea y send_user no. En este sentido, puts -nonewline es más análogo a send_user .

send_user también "hereda" algunas opciones del send de expectativa, como -s y -h (consulte la página de manual de expect para obtener más información). Vea http://99-bottles-of-beer.net/language-expect-249.html para un uso de la bandera -h .

No puedo hablar de cómo se implementan en el nivel C.


Otra diferencia que acabo de descubrir entre las dos, aparte de la nueva línea, es que si está utilizando log_file en su script Expect, las declaraciones enviadas a través de send_user lo harán en el archivo de registro, mientras que las declaraciones enviadas con puts no lo hacen. Si está automatizando algunos scripts Expect que no se están ejecutando en su consola real, eso puede hacer una gran diferencia.