El comando script es parte del paquete util-linux-ng y debe estar disponible por defecto en cualquier distribución GNU/Linux. Pero, ¿Qué hace el comando script? Script hace un typescript (menanografiado) de todo lo que se imprime en el Terminal. Esto es muy útil para estudiantes quienes necesitan evidencia de una sesión interactiva como prueba de que hicieron la tarea de una asignatura, que puede ser impresa luego con lpr.
El uso básico de este comando para grabar desde una terminal podría ser el siguiente:
$ script -t -a /tmp/mylog.out 2> /tmp/mylog.time;
La opción -a anexa la salida al fichero o typescript, reteniendo antes el contenido, -t manda los datos de tiempo a la salida estándar de errores. Estos datos contienen dos campos, separados por un espacio. El primer campo indica cuanto tiempo ha pasado desde la salida anterior. El segundo campo indica cuántos caracteres salieron durante ese tiempo. Esta información puede ser utilizada para reproducir el typescripts con lo que realmente escribimos y la tardanza de la salida.
Después de que terminemos el trabajo en el Terminal podemos finalizar con ^D (Ctrl-D) o con el comando exit.
Ahora encontraremos en /tmp los dos ficheron llamados mylog.out y mylog.time.
Reproducir con scriptreplay:
$ scriptreplay /tmp/mylog.time /tmp/mylog.out
Sciptreplay es el compañero de script, toma como entrada la salida producida con script y hace una reproducción de la misma.
La reproducción simplemente muestra todo lo que escribimos en el terminal y toda la salida, por supuesto, nada se ejecuta de nuevo simplemente es como si reprodujeramos un video grabado del terminal. Ya que se va a mostrar la misma información, scriptreplay solo garantiza una reproducción exacta si se ejecuta en el mismo tipo de terminal en el que fue grabado. De lo contrario, cualquier caracter de escape en el typescript podría ser interpretado de forma diferente por el terminal al cual scriptreplay está enviando la salida.
No hay comentarios:
Publicar un comentario