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


18

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

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


Receio, acho que não há uma maneira de determinar o perfil a partir do shell.
amaranto

Respostas:


16

Suponho que você possa usar um comando personalizado 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.

Então em ~/.bashrc

if [[ -n $PROFILE ]]; then
    HISTFILE=~/.bash_history."$PROFILE"
fi

10

Enquanto o ttycomando fornecer resultados separados (o que certamente deveria ocorrer em qualquer ambiente Unix padrão, embora eu tenha tido comportamentos ocasionais no cygwin com certos emuladores de terminal), você também pode usá-lo para separar as coisas.

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 que máquina estou,
  2. quem eu sou e
  3. em que terminal estou.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.