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?
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
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
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.
$ 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