GNU/Linux >> Znalost Linux >  >> Linux

Nahrajte svůj terminál pomocí skriptu a scriptreplay

Fascinující na lidech je, že každý z nás má zvláštní styl učení. Někteří lidé raději čtou o tom, jak se něco dělá. Někteří lidé raději postupují podle pokynů od začátku, zatímco jiní dávají přednost získání přehledu před zapojením. Ostatní lidé rádi poslouchají pokyny od instruktora nebo podcast. A další skupina chce návod ve formě videa.

Potíž s videem je v tom, že může být obtížné jej produkovat a komprimovat, a jakmile je hotovo, dá se hodně práce změnit. A kromě toho diváci nemohou zkopírovat a vložit příkazy Linuxu z videa do svého terminálu.

Nebo mohou?

script a scriptreplay příkazy vám umožňují zaznamenat relaci terminálu a poté ji přehrát později. Není zapojeno žádné video. Místo toho soubory ve formátu prostého textu zvané typescripts se používají, takže soubory jsou malé a uživatelé mohou kopírovat příkazy během přehrávání.

Oba script a scriptreplay příkazy jsou cenné dokumentační nástroje a považuji je za užitečné ve dvou scénářích:

  1. Bez ohledu na to, jak upřímně si slibuji, že si projdu svou historii shellu a shromáždím správné příkazy, jakmile přijdu na správný způsob, jak splnit úkol, dělám to jen zřídka.
  2. Někdy moji uživatelé nechtějí vidět vstup, který se od nich požaduje; chtějí vidět interakci mezi nimi a počítačem. Uživateli můžete říct, aby zadal ls a popsat, co mohou očekávat, že v reakci uvidí, ale větší dopad to má, když sami vidí, jak se to děje. Uživatelé jsou mnohem odvážnější v terminálu po přehrání souboru skriptu, aby nejprve viděli, jaké to je.

[ Zaregistrujte se do Ansible Basics:Automation Technical Overview a naučte se spravovat konfiguraci, zajišťování, nasazování a správu výpočetní infrastruktury napříč prostředími s Ansible. ]

Zaznamenejte si svůj terminál

Chcete-li zahájit nahrávání pomocí script , poskytněte dva cílové soubory:soubor časování a typový skript soubor:

$ script --timing=time.tm myscript

Výstup vás na tento script upozorní začal nahrávat. Vše, co děláte ve svém terminálu při script je aktivní je zaznamenáno. To zahrnuje vše, co jde do stdin, stdout a stderr, včetně vašich pauz, zpětných mezer, automatického dokončování a dokonce i vašich chyb.

Stiskněte Ctrl+D nebo zadejte exit pro zastavení nahrávání po dokončení ukázky.

Výsledný soubor strojopisu, myscript v tomto příkladu je přímočarý a relativně samodokumentující:

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

Tento soubor můžete upravit. ale dejte si pozor na příliš mnoho změn, protože bylo zaznamenáno i načasování výstupu.

K opravě drobných chyb je však snadnou opravou rychlá úprava pomocí textového editoru.

Přehrávání skriptu

Nahraný skript můžete přehrát pomocí scriptreplay příkaz:

$ scriptreplay --timing=time.tm myscript

To převezme vaši terminálovou relaci a použije ji jako plátno k přehrání vstupu a výstupu toho, co jste nahráli. Časování je také replikováno, takže jsou zachovány smysluplné pauzy pro přehlednost, což může být užitečné pro uživatele, který sleduje přehrávání skriptu.

Příkazy přehrávané v terminálu se samozřejmě neprovádějí. Jde pouze o okamžité přehrávání, takže je bezpečné přehrávat skripty, které mažou soubory, zavazují Git nebo spouštějí hry Ansible. Při přehrávání skriptu se ve skutečnosti nic neděje. Je to jen film.

Dokumentace v akci

script a scriptreplay příkazy jsou cennými nástroji pro filozofii „ukaž, neříkej“. Ať už jste vaší cílovou skupinou vy někdy v budoucnu, dlouho poté, co jste zapomněli to, co jste si byli jisti, že nikdy nezapomenete, nebo nesmělý nový uživatel terminálu, vidět interakce mezi člověkem a počítačem může být poučné a posilující.

Na rozdíl od snímků obrazovky mají strojopisy malou velikost souboru a snadno se aktualizují a upravují. Na rozdíl od vaší historie shellu se strojopisy neotáčejí. Nezmizí, pokud je sami neodstraníte. A na rozdíl od shellových skriptů, strojopis demonstruje kroky bez provedení procesu, vybízí diváka, aby si každý krok vyzkoušel, internalizoval a uložil do paměti a lépe porozuměl tomu, co je terminál skutečně schopen dělat.


Linux
  1. Monitorujte svůj systém Linux ve svém terminálu pomocí procps-ng

  2. Ovládejte čas a datum svého počítače pomocí systemd

  3. Jak předvánočně upravit váš linuxový terminál a Shell

  1. Zaznamenejte svou terminálovou relaci pomocí Asciinema

  2. Shell skript s funkcí a parametrem jako proměnnými?

  3. Rozdíl mezi příkazy v bash skriptu a příkazy v terminálu

  1. Zapněte textový editor terminálu Linux pomocí ed

  2. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  3. Zbarvení vašeho terminálu a prostředí Shell?