Підроблене програмне забезпечення для демонстрації командного рядка


3

Я шукаю програмне забезпечення, яке було б корисно для демонстрацій.

Мені регулярно доводиться показувати ефекти сценаріїв, що стосуються класів, розмовляючи про їх ефекти, а також регулярно маю проблеми з пальцями і мені доводиться переписувати різні команди - витрачаючи час на заняття та загальну енергію.

Мені б хотілося заздалегідь записати послідовність команд, а потім відтворити їх зі швидкістю мого вибору.

Тож у мене може бути файл, який містить команди:

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

Я хотів би мати можливість відтворити ці команди назад, ввівши подібні .

Тож у мене з'явиться моргаючий командний рядок, і якби я набрав "echo" hxxx ", командний рядок прочитав би

home $ echo "пекло

і якщо я набрав будь-які інші літери, термінал заповнював би решту команди, поки я не натискаю клавішу enter, коли вона виконує команду. Справа в тому, що навіть якщо я накручую команду під час її введення, команда, яку я заздалегідь підготувала, буде виконана.

Моє запитання - чи існує подібне програмне забезпечення для демонстрації? чи навіть, це легка річ, щоб написати сценарій ...?

EDIT - дві швидкі речі, перш за все я перебуваю на OSX, - але було б непогано отримати загальне рішення для інших людей, які приїжджають сюди з google. по-друге, багато коментарів / відповідей концентруються саме на тому, що дозволяє швидко та легко вводити довгі команди за допомогою гарячих клавіш тощо. Насправді мені хотілося б, щоб це принаймні виглядало так, що я друкую в прямому ефірі - саме тому я вкладаю трохи про клавіатуру «один на один», але я не думаю, що я пояснив це так добре, як міг би мати. ..


На якій ОС ви працюєте?
slhck

1
Ви пробували псевдоніми? Це не виглядало б як приємно, але ви можете просто набрати a1, a2, a3, a4, a5 ...
bb010g

Чому б не просто використати програмне забезпечення для екранізації екрану, щоб записати, що ви робите це повільно, обережно у своєму офісі, а потім відтворити відео в класі з потрібною швидкістю? Наприклад, VLC дозволяє регулювати швидкість відтворення з кроком лише 10%.
Synetech

@slhck - OSX - додасть, хоча мене цікавлять загальні рішення
Джо

@ bb010g, це буде моїм резервним планом, я думаю ... :)
Джо

Відповіді:


1

Ви можете використовувати Perl та модуль IO :: Prompter. Ось сценарій, який повинен допомогти

#!/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;
}

Цей скрипт дає вам підказку (налаштовується, просто відредагуйте аргумент prompt) і кожен натискання клавіші вставляє символ із командного блоку вище. Backspace також працює, і ви також можете натиснути клавішу enter і IO :: Prompter автоматично заповнить рядок і надішле його в bash з розумною швидкістю запису. Після запуску команд з командного блоку скрипт продовжить приймати будь-який вхід і відправить його в bash.

У вас повинен бути встановлений Perl. Щоб встановити IO :: Prompter, запустіть cpan IO::Prompterз улюбленого емулятора терміналу.


Відмінно - сподіваюсь, я повернусь із версією, яка займається покупкою - але ви, безумовно, дали мені інструменти ...
Джо

0

Як щодо макро-рекордера або IronAHK ?

  • За допомогою IronAHK ( порту Linux / Mac AutoHotkey ) ви можете призначити натискання клавіш або рядків клавішам, щоб швидко та легко вводити цілі фрагменти даних та команд. Наприклад, ви можете призначити наступні команди як необроблені рядки, або як виклик до системних команд.

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

    Тоді ви можете прив’язати його до клавіші, як A, або + 1, або + Shift+ F1або що завгодно. Потім ви можете натиснути гарячі клавіші в порядку виконання (це полегшується за допомогою цифрових гарячих клавіш).

    Впорядковуючи команди в групи, ви можете отримати настільки дрібнозернисту, як вам подобається, щоб ви могли прорватися в будь-який момент, який вважаєте, що вам потрібно або потрібно призупинити демонстрацію, щоб зробити щось інше, наприклад, показувати файли тощо.

  • За допомогою макропрограми ви можете записувати свої натискання клавіш, а потім відтворювати їх, як правило, з можливістю регулювання регулювання швидкості.


0

Я написав shellscript-runner.zsh, щоб робити те, що ти хочеш. Завантажте його, запустіть zsh, тоді, перебуваючи в zsh, створіть файл. Тепер Shellscript-runner озброєний і готовий для запуску вбудованої демонстрації. Прочитайте свій демонстраційний текст у кінці файлу та спробуйте його. Я сподіваюся, що ви знайдете його у всіх потужних та простих у використанні.

Ваше бажання мати можливість контролювати, коли кожен символ з'являється, наразі не реалізовано, але його можна додати.

Zsh (якщо ви ніколи цього не пробували) має багато функцій, відсутніх у bash. Потужні можливості редагування ліній Zsh , які зробили можливим використання оболонки. Це було б неможливо втілити в баш.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.