Estoy intentando escribir un script para GeekTool que mostrará mis últimos X (20) comandos en mi pantalla.
Puedo mostrar un archivo o usar la salida de un comando de shell (preferido).
El problema es que cuando ejecuto el comando desde un script aparece ~/bin/update_history_file.sh:fc:5: no such event: 0
un error.
Mi archivo de script es:
#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt
export HISTFILE=~/.zsh_history
fc -l -20 -1
El fc
comando funciona si lo ejecuto desde un shell; sin embargo, si lo ejecuto desde el script, falla. Creo que tiene algo que ver con que no se puede leer el archivo histórico, pero no tengo confirmación de esto.
No puedo usar el .zsh_history
archivo directamente porque uso el historial extendido ZSH y tiene metadatos incrustados.
Respuesta1
Debe agregar un fc -R
para forzar la lectura del archivo histórico y eliminarlo.-1
#!/bin/zsh --login
#history | tail -n 25 > /tmp/history.txt
export HISTFILE=~/.zsh_history
fc -R
fc -l -20