No modo GUI, quando um usuário tem mais de um terminal aberto, como os terminais reescrevem o arquivo de histórico desse usuário? a razão pela qual pergunto é porque, é bem possível que em cada um dos terminais o usuário acabe executando diferentes comandos. Então, o arquivo histórico acaba salvando os comandos de todos os terminais ou apenas do primeiro a ser aberto? Ou existe algum outro tipo de esquema empregado para lidar com essa situação?
fonte
shopt -s histappend
funciona?Originalmente, peguei essa idéia no livro O'Reilly "Unix Power Tools".
No meu
.profile
conjunto:Sempre que
.profile
é lido, recebo um novo arquivo de histórico nomeado com o PID da minha sessão. Se eu tiver vários logins, cada login receberá um arquivo de histórico exclusivo. Trabalha emksh
ebash
.Se você está apenas abrindo novos terminais em uma sessão X, esses geralmente não são shells de login, mas você pode configurá-los para atuar como shells de login. Por exemplo,
rxvt +ls
será iniciadorxvt
como um shell de logon. Verifique os documentos para qualquer terminal que você esteja usando.Além disso, a menos que você esteja usando um arquivo
.logout
ou.bash_logout
(ou algum outro meio) para limpar, você eventualmente terá um upload de.sh_hist
arquivos.fonte
tcsh
:set savehist = (5000 merge)
mesclafonte