Gefälschte Demo-Software für die Befehlszeile

1110
Joe

Ich suche nach einer Software, die nützlich ist, um Demonstrationen zu geben.

Ich muss regelmäßig die Auswirkungen von Scrips ect den Klassen zeigen, während ich über ihre Auswirkungen spreche. Gleichermaßen habe ich Fingerprobleme und muss verschiedene Befehle umschreiben, die Unterrichtszeit und allgemeine Energie verschwenden.

Ich möchte in der Lage sein, eine Reihe von Befehlen im Voraus aufzuzeichnen und sie dann mit der von mir gewählten Geschwindigkeit wiederzugeben.

Ich könnte also eine Datei haben, die die Befehle enthält:

echo "hello world!"  ls ls -l  ls -l | sort 

Ich möchte diese Befehle gerne wiedergeben, indem Sie ähnliche Befehle eingeben .

Ich hätte also eine blinkende Eingabeaufforderung und wenn ich 'echo "hxxx" eingebe, würde die Eingabeaufforderung lesen

home $ echo "Hölle

Wenn ich weitere Buchstaben eingebe, füllte das Terminal den Rest des Befehls aus, bis ich die Eingabetaste drücke, wenn er den Befehl ausführt. Der Punkt ist, dass selbst wenn ich den Befehl bei der Eingabe vermasselte, der Befehl, den ich zuvor vorbereitet hatte, ausgeführt würde.

Meine Frage ist: Gibt es ähnliche Software für Demonstrationen? oder sogar, ist das eine einfache Sache, um ein Skript zu erstellen ...?

EDIT - zwei schnelle Dinge zuerst bin ich bei osx - aber es wäre schön, eine generelle Lösung für andere Leute zu bekommen, die hier von Google ankommen. und zweitens konzentrieren sich viele Kommentare / Antworten darauf, dass sie die Eingabe langer Befehle mit Hilfe von Hotkeys und ähnlichem schnell und einfach machen. Eigentlich möchte ich, dass es zumindest so aussieht, als würde ich live schreiben - deshalb habe ich mich mit dem One-to-One-Keymapping beschäftigt, aber ich glaube nicht, dass ich das so gut erklärt habe, wie ich es hätte tun können. ..

3
In welchem ​​Betriebssystem bist du? slhck vor 11 Jahren 0
Hast du Aliase ausprobiert? Es würde nicht so schön aussehen, aber Sie könnten einfach a1, a2, a3, a4, a5 eingeben ... bb010g vor 11 Jahren 1
Warum verwenden Sie nicht einfach eine Screencasting-Software, um Sie langsam und sorgfältig im Büro aufzunehmen, und das Video dann in der gewünschten Geschwindigkeit wiedergeben? Mit VLC können Sie beispielsweise die Wiedergabegeschwindigkeit in Schritten von bis zu 10% anpassen. Synetech vor 11 Jahren 0
@slhck - OSX - wird hinzufügen, obwohl ich mich für allgemeine Lösungen interessiere Joe vor 11 Jahren 0
@ bb010g, das wird mein Backup-Plan sein, denke ich ... :) Joe vor 11 Jahren 0
@Synetech - teils weil dann der Klasse wahrscheinlich klar sein wird, dass ich ihnen nur das Video zeige -, aber vielleicht sollte ich die App nach einer bestimmten Phase beenden und einige andere Aspekte der produzierten Dateien zeigen erstellt - vielleicht als Antwort auf eine Frage - mit einem Video würden Sie die Möglichkeit der Interaktion verlieren. :( Joe vor 11 Jahren 0
Ich habe mir die Frage noch einmal angesehen, und wenn Sie die ganze Sache jedes Mal abtippen möchten, hat ZSH Korrekturen und ist zumindest für Befehle vollständig. bb010g vor 11 Jahren 0
"Teilweise, weil dann für die Klasse wahrscheinlich offensichtlich ist, dass ich ihnen nur das Video zeige." "Ich möchte vielleicht ... die Möglichkeit der Interaktion." Außerdem verlieren Sie bei einem Video die Möglichkeit, dass unerwartete Dinge passieren und etwas beleben, was sonst eine langweilige Klasse sein könnte. `; -D` Synetech vor 11 Jahren 0
Es gibt ein Programm, das einmal in einem Youtube-Programm namens hack5 erwähnt wurde, obwohl ich mich nicht daran erinnere. barlop vor 11 Jahren 0
Offenhalten wegen der sehr engen Frage. Siehe http://meta.superuser.com/questions/2324/in-defense-of-obscure-niche-hardware-Empfehlungsfragen bwDraco vor 10 Jahren 0

3 Antworten auf die Frage

1
user49740

Sie können Perl und das IO :: Prompter-Modul verwenden. Hier ist ein Skript, das helfen sollte

#!/usr/bin/perl -w  use IO::Prompter<<EOF; echo "Hello world!" ls ls -l ls -l | sort EOF  use strict; use feature 'say'; use IPC::Open2; use Time::HiRes 'sleep';  open2('>&STDOUT',\*SHELL,'bash');  while(my $cmd=prompt '$'){ say SHELL $cmd; sleep 0.05; } 

Mit diesem Skript erhalten Sie eine Eingabeaufforderung (konfigurierbar, bearbeiten Sie das Argument einfach in prompt), und bei jedem Tastendruck wird ein Zeichen aus dem Befehlsblock oben eingefügt. Die Rücktaste funktioniert auch, und Sie können auch die Eingabetaste drücken. Mit IO :: Prompter wird die Zeile automatisch vervollständigt und mit einer angemessenen Schreibgeschwindigkeit an die Bash gesendet. Nachdem die Befehle vom Befehlsblock ausgeführt wurden, akzeptiert das Skript weiterhin alle Eingaben und sendet sie an die Bash.

Sie sollten Perl bereits installiert haben. Um IO :: Prompter zu installieren, starten Sie cpan IO::PrompterIhren bevorzugten Terminal-Emulator.

Ausgezeichnet - hoffentlich komme ich mit einer Version zurück, die das Geschäft macht - aber Sie haben mir sicherlich die Werkzeuge gegeben ... Joe vor 11 Jahren 0
0
Synetech

Was ist mit einem Makro-Recorder oder IronAHK ?

  • Mit IronAHK (dem Linux / Mac-Port von AutoHotkey ) können Sie Tasten Tastenanschläge oder Zeichenfolgen zuweisen, um die Eingabe ganzer Daten- und Befehlsteile schnell und einfach zu machen. Beispielsweise können Sie die folgenden Befehle entweder als unformatierte Zeichenfolgen oder als Aufruf von Systembefehlen zuweisen.

    echo "hello world!"  ls ls -l  ls -l | sort 

    Dann können Sie es an einen Key wie A, oder + 1oder + Shift+ F1oder was immer Sie möchten gebunden. Anschließend können Sie die Hotkeys zur Laufzeit nacheinander drücken (dies wird durch die Verwendung numerischer Hotkeys erleichtert).

    Wenn Sie die Befehle in Gruppen aufteilen, können Sie so feinkörnig werden, wie Sie möchten, und Sie können an jedem Punkt einbrechen, von dem Sie glauben, dass Sie die Demonstration anhalten möchten oder müssen, um etwas anderes zu tun, wie z.

  • Mit einem Makro-Programm können Sie Ihre Tastatureingaben aufzeichnen und sie dann wiedergeben, normalerweise mit der Möglichkeit, die Geschwindigkeitssteuerung anzupassen.

0
daveyost

Ich habe shellscript-runner.zsh geschrieben, um das zu tun, was Sie wollen. Laden Sie es herunter, führen Sie zsh aus, und geben Sie die Datei in zsh an. Nun ist shellscript-runner für die Ausführung der integrierten Demo gerüstet. Lesen Sie den Demo-Text am Ende der Datei durch und probieren Sie ihn aus. Ich hoffe, Sie finden es mächtig und einfach zu bedienen.

Ihr Wunsch, steuern zu können, wann jeder Charakter erscheint, ist derzeit nicht implementiert, könnte aber hinzugefügt werden.

Zsh (falls Sie es noch nie versucht haben) hat viele Funktionen, die in bash nicht vorhanden sind. Zshs leistungsstarke Funktionen zum Bearbeiten von Zeilen machten Shellscript-Runner möglich. Es wäre unmöglich in bash zu implementieren.