Tal vez estoy pasando por alto algo, pero ¿hay alguna manera de obtener su historial de bash actual para la sesión actual que está utilizando como
si corro
ssh host
$ pwd
$ ls
$ cd /tmp
Solo quiero ver esos 3 comandos y nada más
bash
command-history
Miguel
fuente
fuente

historycomando?historypero eso no da solo mi sesiónHISTSIZEyHISTFILESIZE.Respuestas:
Una forma ligeramente indirecta:
Esto guardará el historial de bash no guardado de la sesión actual
~/current_history, que luego puede ver.fuente
~/$$_history.history -a, junto con el historial anterior en ~ / .bash_history ... lo que podría ser un problema si su historial es más largo que el límite, que es 1000 en mis sistemas centos7 y fedora 24.Tuve el problema de que quería escribir la corriente
historyen un archivo pero aún quería que las entradas se registraran en el bash principalhistoryResolví esto simplemente adjuntando el archivo con
cat:fuente
Utilícelo
comppara comparar todo el historial (incluida la sesión actual de Bash) con el historial ya persistente.bash_historyy solo imprima las líneas que son exclusivas de la sesión actual, que deberían mostrar solo aquellos comandos que se ejecutaron desde que inició el shell Bash actualEditar: como señaló @Wildcard, este comando no funciona para todas las distribuciones de
comm. Probé esto en Mac OS.Una variación de la misma idea usando
diff:fuente
commasume una entrada ordenada. Pero, ¡bienvenido a Stack Exchange! :)commse ordenan inherentemente en mi ejemplo anterior. ¿Lo corriste? ¿Y no produjo su historial actual de sesiones de Bash?~/.bash_historyestá ordenado; y tampoco se ordena la salida de una vez que se eliminan los números de línea iniciales. (Además de lo cual, espera una entrada ordenada lexicográficamente, no una entrada ordenada numéricamente.)historycommcommcomando en mi ejemplo están en el mismo orden, no que estén ordenados lexicográficamente. La versión de FreeBSDcommno requiere entrada clasificada lexicográficamente