В графическом режиме, когда у пользователя открыто более одного терминала, как терминалы переписывают файл истории этого пользователя? причина, по которой я спрашиваю, заключается в том, что вполне возможно, что в каждом из терминалов пользователь в конечном итоге выполняет разные команды. Итак, файл истории в конечном итоге сохраняет команды со всех терминалов или только с первого, который должен быть открыт? Или есть какая-то другая схема, которая используется для решения этой ситуации?
источник
shopt -s histappend
не работает?Первоначально я получил эту идею из книги О'Рейли "Инструменты для Unix".
По моему
.profile
я установил:Каждый раз, когда мои
.profile
читают, я получаю новый файл истории с именем PID моего сеанса. Если у меня несколько логинов, каждый логин получает уникальный файл истории. Работает вksh
аbash
.Если вы просто открываете новые терминалы в сеансе X, они обычно не являются оболочками входа в систему, но вы можете настроить их для работы в качестве оболочек входа. Например,
rxvt +ls
запуститсяrxvt
как оболочка для входа. Проверьте документы для любого терминала, который вы используете.Кроме того, если вы не используете файл
.logout
или.bash_logout
(или некоторые другие средства) для очистки, у вас в конечном итоге будет куча.sh_hist
файлов.источник
tcsh
:set savehist = (5000 merge)
сливаетсяисточник