Como chamar o histórico / fc de um script ZSH

2

Eu estou tentando escrever um script para o GeekTool que mostrará meus últimos comandos X (20) na minha tela.

Eu posso exibir um arquivo ou usar a saída de um comando shell (preferencial).

O problema é que quando executo o comando de um script, recebo ~/bin/update_history_file.sh:fc:5: no such event: 0 como um erro.

Meu arquivo de script é:

#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt

export HISTFILE=~/.zsh_history 
fc -l -20 -1

O comando fc funciona se eu o executar de um shell; no entanto, se eu executar o script, ele falhará. Eu acho que tem algo a ver com ele não ser capaz de ler o arquivo de histórico, mas não tem confirmação disso.

Não consigo usar diretamente o arquivo .zsh_history , pois uso o histórico estendido do ZSH e incluí metadados incorporados.

    
por Andrew Burns 02.01.2013 / 23:24

1 resposta

5

Você deve adicionar um fc -R para forçar a leitura do arquivo do histórico e excluir esse -1

#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt

export HISTFILE=~/.zsh_history 
fc -R
fc -l -20
    
por 09.01.2013 / 15:19

Tags