Что я могу использовать для записи каждой команды, которую я запускаю в bash (а-ля история) - PullRequest
0 голосов
/ 13 марта 2012

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

Спасибо

Ответы [ 2 ]

0 голосов
/ 13 марта 2012

Утилита script должна решить вашу проблему. Он записывает все, что вы печатаете, и все, что печатается на терминале, в файл (даже включая управляющие коды терминала, поэтому, если вы cat этот файл на консоли, вы даже воспроизводите исходные цвета текста).

0 голосов
/ 13 марта 2012

В bash переменная окружения PROMPT_COMMAND содержит команду, которая будет выполнена перед отображением приглашения PS1. Так что ваш может быть что-то вроде history | tail -n1 | perl -npe 's/^\s+\d+\s+//' | yourcommand HOST

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