Tutoriales

Grabe su terminal con script y scriptreplay

Una de las cosas fascinantes de ser humano es que cada uno de nosotros tiene una forma específica de aprender. Algunas personas prefieren leer acerca de cómo se hace algo. A algunas personas les gusta seguir las instrucciones desde el principio, mientras que a otras les gusta conocerlas antes de involucrarse. Otros disfrutan escuchando entrenadores o podcasts. También hay un grupo que desea explicar en forma de video.

El problema con el video es que puede ser difícil de producir y comprimir, y requiere muchos cambios una vez hecho. Además de esto, los espectadores no pueden copiar y pegar los comandos de Linux del video en su terminal.

¿O pueden?

Esta script y scriptreplay El comando le permite grabar una sesión de terminal y luego reproducirla más tarde. No hay video involucrado.En cambio, los archivos de texto sin formato se denominan Mecanografiado se utiliza, por lo que el archivo es pequeño y el usuario puede copiar comandos durante la reproducción.

ambos script y scriptreplay Los comandos son valiosas herramientas de documentación y los encuentro útiles en dos situaciones:

  1. No importa cuán sinceramente me prometo a mí mismo que una vez que encuentre la manera correcta de hacer las cosas, revisaré mi historial de shell y recopilaré los comandos correctos, pero rara vez lo hago.
  2. A veces, mis usuarios no quieren ver la entrada que necesitan; quieren ver Interacción entre ellos y la computadora.Puede decirle al usuario que escriba ls Y describa las respuestas que esperan ver, pero tienen un mayor impacto cuando se ven a sí mismos sucediendo. Después de reproducir el archivo de secuencia de comandos para ver cómo se ve primero, encontré que el usuario en la terminal era más valiente.

[ Register for Ansible Basics: Automation Technical Overview and learn configuration management, provisioning, deploying, and managing compute infrastructure across environments with Ansible. ]

registra tu terminal

iniciar la grabación scriptproporcionando dos archivos de objeto: un archivo de tiempo y un Mecanografiado documento:

$ script --timing=time.tm myscript

La salida te recuerda script La grabación ha comenzado.todo lo que haces en la terminal mientras script Se registra activo. Esto incluye todo lo que entra en stdin, stdout y stderr, incluidas sus pausas, retrocesos, autocompletar e incluso sus errores.

de acuerdo a Control+D o entrar exit Deje de grabar cuando haya terminado con la presentación.

el archivo mecanografiado generado, myscript En este ejemplo, es sencillo y relativamente autodocumentado:

Script started on 2022-01-06 22:27:01+13:00
0;seth:~/script^G$ echo "hello world"
hello world
0;seth:~/script^G$ exit
exit

Script done on 2022-01-06 22:27:10+13:00

Puede editar este archivo. Pero tenga cuidado de no hacer demasiados cambios ya que también se registra la hora de la salida.

Aún así, para corregir pequeños errores, una edición rápida con un editor de texto es una solución fácil.

guión de reproducción

puedes usarlo scriptreplay Pedido:

$ scriptreplay --timing=time.tm myscript

Esto se hará cargo de su sesión de terminal y la usará como un lienzo para reproducir su entrada y salida grabada. El tiempo también se replica, por lo que las pausas significativas se conservan para mayor claridad, lo que ayuda a los usuarios a seguir la reproducción del guión.

Por supuesto, el comando reproducido en la terminal no se ejecuta. Esta es solo una reproducción instantánea, por lo que es seguro reproducir scripts que eliminan archivos, realizan confirmaciones de Git o inician la reproducción de Ansible. En realidad, no sucede nada en la reproducción del script. Es solo una película.

Documentación en acción

Esta script y scriptreplay Los comandos son una herramienta invaluable para la filosofía de «mostrar, no decir». Ya sea que su público objetivo sea usted en algún momento en el futuro, mucho después de que haya olvidado algo que está seguro de que nunca olvidará, o un nuevo usuario final tímido, ver la interacción humano-computadora puede inspirar y empoderar.

A diferencia de las capturas de pantalla, los archivos mecanografiados son pequeños y fáciles de actualizar y editar. A diferencia de su historial de shell, el mecanografiado no gira. No desaparecerán a menos que los elimine usted mismo. A diferencia de los scripts de shell, TypeScript demuestra los pasos sin ejecutar el procedimiento, alentando al espectador a probar cada paso, interiorizarlo y guardarlo en la memoria, y tener una mejor idea de lo que la terminal es realmente capaz de hacer.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba