Bart Schaefer propuso el siguiente enfoque para la misma pregunta sobre los usuarios de zsh lista de correo:
zshaddhistory() { whence ${${(z)1}[1]} >| /dev/null || return 1 }
Esta función se ejecuta antes de que la línea de comando se escriba en el historial. Si devuelve 1, la línea de comando actual no se agrega al archivo de historial ni a la pila de historial local. Sin embargo, verifique si el comando activará un comando no encontrado error cubre sólo casos simples. P.ej. esta línea estará en el historial:
echo foo; echooo bar
Pero funciona bien para tu ejemplo
gut status
Tenga en cuenta que el comando incorrecto aparecerá en UP-ARROW
(¡para que pueda corregirlo!), pero no está en la pila de historial; comprobar con fc -l
.