регистрация ключей в Unix - PullRequest
       0

регистрация ключей в Unix

1 голос
/ 25 сентября 2011

Я новичок в сценариях Unix, я хочу сделать следующее, и у меня нет ни малейшего понятия, как действовать.

Я хочу регистрировать ввод и вывод определенного набора команд, данных на терминале,в файл трассировки.Я должен иметь возможность включать и выключать его.

Например:

switch trace on

user:echo Hello World

user:Hello World

switch trace off

Затем файл журнала трассировки, например, trace.log, его содержимое должно быть

echo Hello World

Hello World

Одна вещь, которую я могу подумать, это использовать set -x, перенаправляя вывод в какой-то файл, но не смог найти способ сделать это.Я сделал man set или man -x, но не нашел записи.Может быть, я слишком наивен, но некоторые советы будут очень полезны.Я использую оболочку bash.

1 Ответ

3 голосов
/ 25 сентября 2011

См. script (1), «создать машинописный текст терминальной сессии».Для начала новой расшифровки в файле xyz: script xyz.Чтобы добавить существующую запись в файл xyz: script -a xyz.

Будет несколько служебных строк, таких как Script started on ... и Script done on ..., которые вы можете использовать для фильтрации на распечатке при помощи awk или sed.Ключ -t позволяет воспроизводить в реальном времени.

Я думаю, что, возможно, недавно возник вопрос о том, как отобразить стенограмму в less, и, хотя я не могу ее найти, этот вопрос и этот устраняет некоторые из тех же проблем просмотра файла, который содержит управляющие символы.(Записанные транскрипты часто содержат управляющие последовательности ANSI и обычно содержат Returns и Linefeeds.)

Обновление 1 Для удаления специальных символов доступна Perl-программа script-declutter из журналов сценариев.
Программа содержит около 45 строк кода, найденных в середине ссылки.Сохраните эти строки кода в файле с именем script-declutter в подкаталоге, который находится в вашей переменной PATH (например, $HOME/bin, если он находится в вашем пути поиска, иначе (например) /usr/local/bin), и сделайте файл исполняемым.После этого команда, подобная

    script-declutter typescript > out

, удалит большинство специальных символов из файла typescript, направляя результат в файл out.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...