Можно ли изменить .bash_logout?

366
Dhrumit Patel

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

Вот несколько команд, которые я пробовал.

# avoid duplicates.. export HISTCONTROL=ignoredups:erasedups  # append history entries.. shopt -s histappend  # After each command, save and reload history export PROMPT_COMMAND="$history -a; history -c; history -r" 

Также попробовал:

export HISTCONTROL=ignoredups:erasedups # no duplicate entries export HISTSIZE=100000 # big big history export HISTFILESIZE=100000 # big big history shopt -s histappend # append to history, don't overwrite it  # Save and reload the history after each command finishes export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND" 
0
Да, есть способ сделать это, но не могли бы вы добавить, что вы уже пробовали? «Куча команд» не очень конкретна. Также смотрите: http://superuser.com/help/how-to-ask mtak 9 лет назад 0
Это на самом деле команды, которые я, хотя, мог бы помочь мне, но почти ничего не делал (или я так думаю). Хотели бы вы их увидеть? Dhrumit Patel 9 лет назад 0
Как указано в ссылке, которую я только что опубликовал: публикация вашего исследования помогает всем. Расскажите нам, что вы нашли и почему это не соответствует вашим потребностям. Это свидетельствует о том, что вы потратили время, чтобы попытаться помочь себе, избавляет нас от повторения очевидных ответов и, прежде всего, помогает получить более конкретный и актуальный ответ! mtak 9 лет назад 1
Понял. Я отредактирую свой вопрос через минуту. Dhrumit Patel 9 лет назад 0
См. Http://superuser.com/questions/410525/explain-why-bash-logout-wont-run-commands Digital Chris 9 лет назад 0
`.bash_logout` запускается, только если` shopt login_shell` имеет значение true. Digital Chris 9 лет назад 0

1 ответ на вопрос

0
Brett Holman

Вы можете использовать ловушки, чтобы сделать это.

например, поместите что-то вроде этого в ваш .bash_profile:

function save_history { ~/.bash_history >> ~/mybackup_history.txt } trap save_history EXIT 

Ссылки на дополнительные ресурсы в ловушках

Немного предыстории trapзаявлений

Сообщение в блоге с большим количеством trapпримеров

Глава о ловушках из руководства по написанию сценариев Bash

Unix и Linux Stack обмениваются вопросом о ловушках

Похожие вопросы