Cómo llamar a historial/fc desde un script ZSH

Cómo llamar a historial/fc desde un script ZSH

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: 0un 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 fccomando 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_historyarchivo directamente porque uso el historial extendido ZSH y tiene metadatos incrustados.

Respuesta1

Debe agregar un fc -Rpara 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

información relacionada