etc, etcrecuerda que tienes la variable de entorno SHELL con esta puedes inferir que archivo base se esta usando.Hola Troxlinux,En tu script no reconoce a history como un comando (similar a lo que ocurre con "cd", ambos interpretaciones del ambiente),
if [ "${SHELL}" = "bash" ];target=".bash_history"
then
elif [ "${SHELL}" = "zsh" ];target=".zsh_history"entonces ejecuta
tail -20 ${target}
una recomendación cambia tu cabecera #!/bin/bash por #!/bin/sh, ahi puedes usar trazas con -x
y el modo textual con set -vEjemplo:#!/bin/sh -xset -v
set -eSaludos2013/12/16 Pablo Zuñiga <pabloze@gmail.com>--2013/12/16 troxlinux <xserverlinux@gmail.com>
ya dentro del script no los imprimecomando fuera del scriptsaludos lista , tengo una duda con script de bash que me estoy haciendo la idea es que cuando el usuario salga de la session de root me envie un correo en un adjunto con los ultimos comandos que diigito.el detalle esta que cuando ejecuto este script por algun motivo no imprime dentro del archivo comandos.txt los comandos digitados , si yo lo hago fuera del script en una terminal el funciona perfecto.
history | tail -20 > /tmp/comandos.txt
#!/bin/bash
export HISTTIMEFORMAT='%F %T '
history | tail -20 > /tmp/comandos.txt
echo "Envio Reporte de comandos digitados" | mutt -a "/tmp/comandos.txt" -s "SERVER MONITOREO" -- rgutierrez@domain.com
echo " ## ejecutando un bash by ssh ##"
echo " ##REPORTE LISTO!##"
echo " ## Uso: backup.cron, no se requieren LIBRERIAS EXTERNAS##"
# Fin del Script
exit 0
Atte.
Pablo Zúñiga E
(+56 9) - 75195192 | MSN/Gtalk: pabloze@gmail.com | Skype: ed00m_
http://www.gnulinuxporqueno.cl | http://www.linkedin.com/in/ed00m
=======================================================
--Atte.
Pablo Zúñiga E
(+56 9) - 75195192 | MSN/Gtalk: pabloze@gmail.com | Skype: ed00m_
http://www.gnulinuxporqueno.cl | http://www.linkedin.com/in/ed00m
=======================================================