En OpenBSD, ksh por defecto no guarda el historial de comandos en un archivo al cerrar sesión. Por ende, cada vez que se inicia sesión (por ejemplo a través de SSH), no se dispone de historial alguno:

# history
ksh: fc: no history (yet)
# ll
ksh: ll: not found
# history 
1       history
2       ll
# exit
Connection to obsd59.linuxito.com closed.

Para que el historial de ksh se guarde en un archivo cada vez que se cierra sesión, es necesario configurar la variable HISTFILE. Esta variable de entorno determina el nombre del archivo donde se guarda el historial y por defecto no se encuentra seteada en OpenBSD. Esto hace que el historial se pierda cada vez que se finaliza sesión.

Muchos sysadmins utilizamos le historial a menudo ya que puede ser útil repetir comandos ejecutados anteriormente, saber dónde nos quedamos en una instalación, etc.

Entonces simplemente se debe configurar la variable de entorno HISTFILE, ya sea por usuario (~/.profile) o a nivel global (/etc/profile), de la siguiente forma:

export HISTFILE=~/.sh_history

Al cerrar e iniciar sesión nuevamente, el historial queda guardado correctamente:

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

# history
1       history
2       ll
3       history
4       exit

Para más información:

man ksh


Tal vez pueda interesarte


Compartí este artículo