Bug 13642
| Summary: | [FR] better history handling by default? | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Michael Shigorin <mike> |
| Component: | bashrc | Assignee: | placeholder <placeholder> |
| Status: | NEW --- | QA Contact: | qa-sisyphus |
| Severity: | enhancement | ||
| Priority: | P2 | CC: | alex.murugin, glebfm, icesik, ldv, led, placeholder |
| Version: | unstable | Keywords: | usability |
| Hardware: | all | ||
| OS: | Linux | ||
| URL: | http://www.ukuug.org/events/linux2003/papers/bash_tips/#S8 | ||
Было бы прикольно... А то немного и иногда анноит. :) Актуально: в bashrc 1.0-alt1 histappend по-прежнему выключён, а PROMPT_COMMAND пуст (проверено в контейнере Sisyphus), так что история параллельных сессий затирается.
Предлагаю отдельный /etc/bashrc.d/history.sh в том же духе, что и alias.sh, — с возможностью отключить через IGNORE_SYSTEM_HISTORY и без затирания пользовательского PROMPT_COMMAND:
# ALT Linux bash configuration: history handling.
# Append to the history file instead of overwriting it on exit, and write
# each command as it is entered, so that concurrent shell sessions do not
# lose each other's history.
#
# If user has specified an IGNORE_SYSTEM_HISTORY variable,
# then don't touch history settings at all.
[ -z "$IGNORE_SYSTEM_HISTORY" ] || return 0
shopt -s histappend
case ";${PROMPT_COMMAND-};" in
*";history -a;"*)
;;
*)
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND;}history -a"
;;
esac
В спеке — install файла в %_sysconfdir/bashrc.d/history.sh рядом с alias.sh.
Проверено в контейнере: histappend включается; в xterm установка заголовка окна из /etc/bashrc сохраняется, `history -a` дописывается к ней; повторный source не дублирует запись; при IGNORE_SYSTEM_HISTORY=1 ничего не меняется; две последовательные сессии сохраняют обе команды в ~/.bash_history вместо перезаписи.
|

Description
Michael Shigorin 2007-12-10 01:49:31 MSK