GOOGLE ADS

domingo, 17 de abril de 2022

¿Cómo capturar el aviso desde la terminal usando Tcl o cómo puedo hacer coincidir el aviso con el código de color?

Quiero capturar el aviso de un dispositivo remoto.

 -regexp {[\$\#]\s*$} {
# capture the prompt
}

"[\$#]\s*$" no funciona para avisos con códigos de color.


Solución del problema

Los códigos de color se envían como secuencias de escape en el flujo de caracteres. Como tal, si los tiene allí, debe combinarlos. Cada secuencia de escape es el carácter ESC ( Esc, ^[, \u001b) seguido de varios caracteres terminados con ;(bueno, esos son los de configuración de color; hay otros, y son algo complicados). Si bien sí, puede hacer coincidir estos con una expresión regular más complicada, es mucho más fácil configurar el aviso en algo simple que usted controle.

#...
expect "ssword: "
send $password\r
# Note, *NO* expect at this point as matching it is hard
send "PS1='> '\r"
expect -regexp {> $}

Las indicaciones en color son lo suficientemente agradables para las personas, pero son incómodas para las secuencias de comandos. La anulación te hará la vida mucho más fácil. (También puede intentar configurar el terminal en un tipo de terminal que no admita colores).

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...