Использование экранной команды в Linux не позволяет регистрировать историю команд - PullRequest
4 голосов
/ 01 апреля 2011

Я использую screen уже довольно давно и согласен, это повышает мою производительность. Но одна вещь, которую я действительно скучаю, это история команд. Все, что я печатаю в сеансе экрана, не регистрируется в истории команд. Когда я погуглил на то же самое, я нашел что-то, связанное с этой проблемой: http://www.linuxquestions.org/questions/slackware-14/aliases-lost-when-using-screen-723624/

Но, что удивительно, в моем случае все псевдонимы не повреждены, и я могу использовать их без проблем. Насколько я знаю, открытие нового сеанса экрана фактически открывает новую вложенную оболочку. Если это правда, может кто-нибудь помочь мне, как заставить команды, набранные в сеансе экрана, регистрироваться в истории команд, чтобы, если позже я открою новый терминал / экран, я смог получить доступ к командам из истории команд, используя CTRL + R. Любое решение, которое помогает мне создавать команды журнала экрана в истории команд, было бы очень полезно. Цените свое время. Спасибо.

Ответы [ 2 ]

6 голосов
/ 01 апреля 2011

Предполагается, что на экране используется оболочка bash.

Вставьте 2 оператора в ~ / .bashrc:

shopt -s histappend
PROMPT_COMMAND="$PROMPT_COMMAND;history -a"

Первая команда добавляет команды в файл истории, а не перезаписывает их, в то время как вторая команда сохраняет каждую команду сразу после ее выполнения, а не в конце сеанса.

Чтобы расширить мой ответ ... история каждого открытого сеанса bash сохраняется в памяти до тех пор, пока вы не выйдете из системы / не закроете сеанс. Затем он перезапишет файл истории bash. Эти команды будут добавляться в файл истории, а затем сбрасываться в файл после каждой команды.

1 голос
/ 01 апреля 2011

Легко использовать общую историю между сеансами в Zsh , а в этом блоге Дерека Рива объясняет, как это сделать .Короче говоря, добавьте это к вашему ~/.zshrc:

setopt share_history
HISTSIZE=1000
SAVEHIST=1000
HISTFILE=~/.history
setopt APPEND_HISTORY

Я также нашел инструкции для , делающей то же самое на Bash , но я пробовал это только на Zsh.

...