Posso criar um arquivo de histórico bash separado para cada perfil de terminal?

16

Eu uso um script bash para iniciar o gnome-terminal com várias guias, cada guia usando um perfil diferente, um diretório de trabalho e, em alguns casos, executando um comando na guia.

Nesta situação, eu gostaria que a tecla de seta para cima recuperasse comandos que foram usados em uma guia específica. Isso é possível?

    
por Inkayacu 10.01.2012 / 22:03

2 respostas

14

Suponho que você pode usar um comando personalizado do gnome-terminal para cada perfil, por exemplo

bash -c 'PROFILE=default_profile exec bash'

ou

bash -c 'PROFILE=screen_profile exec screen -U'

ou similar.

Em seguida, em ~/.bashrc

if [[ -n $PROFILE ]]; then
    HISTFILE=~/.bash_history."$PROFILE"
fi
    
por enzotib 10.01.2012 / 22:34
8

Contanto que o comando tty ofereça resultados separados (o que certamente deve acontecer em qualquer ambiente Unix padrão, embora tenha havido erros ocasionais no cygwin com determinados emuladores de terminal), você poderia usar isso para separar as coisas, como bem.

Eu tenho algo parecido com o seguinte no meu .bashrc :

export HISTFILE="${HOME}/.history.d/history-"'uname -n'"-"'id -nu'"-"'tty|cut -c6-'

O que pode parecer um exagero, mas você entendeu. Divide-o com base em

  1. em qual máquina eu estou,
  2. quem eu sou e
  3. em qual terminal eu estou.

E você pode adicionar ainda mais se pensar em coisas que são relevantes para você.

    
por Philipp Hanes 26.02.2013 / 21:32