En cuanto a:
¿Existen casos de uso para poder pegar caracteres de control (que no sean \ t, \ r, \ n) en un terminal?
Su interacción con TUI s es a través de estos caracteres de control. Poder pegarlos significa que puedes usar esta función para semiautomatizar tu interacción con los programas TUI.
Hace algún tiempo, ahorré a mi departamento muchas horas de trabajo apresurado al ingresar manualmente cientos de registros de múltiples campos en formularios TUI, al tomar los datos que necesitábamos para ingresar desde un CSV, interpolando los caracteres de control necesarios para navegar por el TUI (a través de sed
creo), validando el resultado y pegándolo en el terminal. Todo toma unos minutos.
Mostrarles esto fue como agregar una función de importación a cada forma del programa TUI. Descubrieron que era una técnica muy útil, un verdadero ahorrador de tiempo.
Sin embargo, dependiendo del caso, esto podría ser algo peligroso. Si un valor de entrada no es válido o si la secuencia de control es incorrecta y el programa TUI responde de forma inesperada, el pegado no se cerrará; continuará y hará quién sabe qué con el programa TUI.
En nuestro caso, fue sencillo garantizar que las entradas fueran válidas, probar un ciclo (suficiente de pegar para ingresar 1 registro y regresar a la posición inicial) fue suficiente para asegurar también que los caracteres de control estuvieran bien, y También se tomó un momento para considerar lo peor que podría pasar si en algún momento esta pasta en particular pudiera interpretarse fuera de contexto.
Esta fue una solución ad hoc rápida y sucia para un problema un tanto raro. Dado más tiempo, podría haber sido mejor aprender a escribir expect
primero para al menos salir del Primer error detectado e informe donde se atascó. Sin embargo, teníamos algo de prisa, por lo que no podíamos considerar algo que necesitábamos para invertir tiempo en aprender primero, especialmente cuando ya aceptamos cuánto demoraría hacerlo manualmente. La simplicidad y la facilidad de pegar nuestra interacción con un TUI en unos pocos minutos es lo que proporcionó valor sobre el uso de un script expect
.