1.PROMPT_COMMAND
在 Bash 中,每次命令执行完毕后,shell 都会检查 PROMPT_COMMAND 环境变量。如果这个变量被设置了,Bash 会执行它的值指定的命令,然后再显示主提示符。这意味着我们可以使用 PROMPT_COMMAND 执行各种任务,比如更新环境变量、显示自定义消息、记录历史命令等。
举例,在环境变量文件(/etc/profile)中添加以下,每次敲完命令后会将命令记录到特定文件中
export HISTORY_FILE=/var/log/history/$(date '+%Y%m%d').log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print $1\" \"$2\" \"$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'