Estou tentando escrever um script para GeekTool que mostrará meus últimos comandos X (20) na tela.
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
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 fc
comando funciona se eu executá-lo a partir de um shell; no entanto, se eu executá-lo a partir do script, ele falhará. Acho que tem algo a ver com não conseguir ler o arquivo de histórico, mas não tenho confirmação disso.
Não consigo usar o .zsh_history
arquivo diretamente porque uso o histórico estendido do ZSH e tenho metadados incorporados.
Responder1
Você deve adicionar um fc -R
para forçar a leitura do arquivo de histórico e excluí-lo-1
#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt
export HISTFILE=~/.zsh_history
fc -R
fc -l -20