zsh: SHARE_HISTORY ou INC_APPEND_HISTORY quebra EXTENDED_HISTORY

2

Gostaria de compartilhar o histórico entre os terminais e acompanhar o tempo decorrido dos comandos do histórico. A maneira intuitiva parece ser usar EXTENDED_HISTORY e SHARE_HISTORY , mas isso define todos os registros de data e hora para 0 depois de reiniciar o shell. Esta é a maneira correta de fazer isso? É mesmo possível?

Cenário 1: EXTENDED_HISTORY e SHARE_HISTORY

$ history -Dn | sed 's|\n|\n      |g'
0:00  cat << EOF > ~/.zshrc
          HISTFILE=~/.zhistory-test
          HISTSIZE=100
          SAVEHIST=100
          setopt EXTENDED_HISTORY
          setopt SHARE_HISTORY # the only change compared to below
      EOF
0:00  exec zsh

0:00 sleep 1

0:00  exec zsh

Cenário 2: somente EXTENDED_HISTORY

$ history -Dn | sed 's|\n|\n      |g'
0:00  cat << EOF > ~/.zshrc
          HISTFILE=~/.zhistory-test
          HISTSIZE=100
          SAVEHIST=100
          setopt EXTENDED_HISTORY
      EOF
0:00  exec zsh

0:01 sleep 1

0:00  exec zsh

Cenário 3: INC_APPEND_HISTORY e SHARE_HISTORY

O mesmo que no cenário 1, mas a substituição de SHARE_HISTORY por INC_APPEND_HISTORY parece ter o mesmo efeito.

Informações do sistema

$ zsh --version

zsh 5.4.2 (x86_64-unknown-linux-musl)

$ ldd /usr/bin/zsh

        /lib/ld-musl-x86_64.so.1 (0x7f0f8b1d8000)
        libcap.so.2 => /lib/libcap.so.2 (0x7f0f8acfa000)
        libncursesw.so.6 => /lib/libncursesw.so.6 (0x7f0f8aa89000)
        libc.so => /lib/ld-musl-x86_64.so.1 (0x7f0f8b1d8000)

$ uname -a

Linux hostname 4.12.13_1 #1 SMP PREEMPT Thu Sep 14 13:15:00 UTC 2017 x86_64 GNU/Linux

$ lsb_release -d

Description:    Void Linux
    
por svenper 08.10.2017 / 11:50

0 respostas