bash 中会影响 bash 脚本行为的变量:
- $PROMPT_COMMAND
-
PROMPT_COMMAND 是一个 bash 环境变量,这个变量的中内容是作为一个普通的 bash 命令执行的,而且执行时间是在 bash 显示 prompt 之前,可以通过这个变量来记录执行日志:
LOGIN_IP=$(who am i | awk '{print $NF}') export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });echo $(date +"%Y-%m-%d %H:%M:%S") [$(whoami)@$SSH_USER$LOGIN_IP `pwd` ]" $msg" >> /var/log/.history; }'
可以加到
/etc/profile
中:export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });echo $(date +"%Y-%m-%d %H:%M:%S") [$(whoami)@`pwd`]" $msg" >> /root/.debug_history; }'