Histórico de comandos em várias sessões do PuTTy no SunOS 5.10

1

Eu tenho várias sessões PuTTy abertas para o meu servidor SunOS 5.10, e estou usando o ksh e, às vezes, o histórico de comandos é compartilhado entre as diferentes sessões e, às vezes, não é. Não consigo descobrir o que determina se é ou não compartilhado. Por compartilhado o que quero dizer é que um comando executado em uma sessão será visto como o comando anterior executado em outra sessão.

Eu prefiro que não seja compartilhado, existe uma configuração para isso?

    
por amphibient 21.09.2012 / 17:33

1 resposta

2

A maioria dos shells do Unix lê o histórico antigo de um arquivo, uma vez - quando o shell é iniciado - e quando você fecha esse shell, o histórico é gravado no arquivo novamente.

Normalmente, o conteúdo antigo é simplesmente sobrescrito, por isso, se você fizer algo como ...

  1. faça o login nas sessões A e B
    • A e B lêem o mesmo conteúdo de ~/.history
  2. execute o comando test em A
    • A adiciona test ao seu histórico na memória
    • B não sabe sobre o comando
  3. logout de A
    • A sobrescreve ~/.history com seu histórico, que tem test
  4. faça o login na sessão C
    • C lê o conteúdo de ~/.history , com test
  5. logout de B
    • B sobrescreve ~/.history com seu histórico, que não tem test
  6. logout de C
    • C sobrescreve ~/.history com seu histórico, que tem test

, em seguida, test será salvo no arquivo de histórico após a etapa 3, mas a etapa 5 a descartará e a etapa 6 a adicionará novamente ...

Alguns shells têm uma opção "anexar histórico" que evita isso (por exemplo, shopt -s histappend no Bash).

Se você deseja ter históricos completamente separados, uma maneira fácil é apenas vincular seu arquivo de histórico a /dev/null .

    
por 21.09.2012 / 17:57