Linux 环境变量PROMPT_COMMAND
Posted runbean
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 环境变量PROMPT_COMMAND相关的知识,希望对你有一定的参考价值。
关于PROMPT_COMMAND环境变量
Bash在显示PS1之前先执行PROMPT_COMMAND定义的内容,而PS1也就是linux的命令提示符
我们可以用它来记录用户输入历史
[root@localhost opt]# export PROMPT_COMMAND=‘{ date "+%Y-%m-%d %T ######### $(history 1 | { read x cmd; echo "$cmd";})"; }‘
[root@localhost opt]# pwd
/opt
2020-06-13 09:13:21 ######### 2020-06-13 09:13:21 pwd
[root@localhost opt]#
1.防止记录重复命令进行判断(如果控制台一直按回车,会不断重复记录最后一条命令)
function my_history(){
if [ -f "/opt/history.log" ];then
#获取最后一条命令
last_command=`tail -n 1 /opt/history.log |cut -c 21-`
fi
date_time="$(date "+%Y-%m-%d %T")"
msg="######### $(history 1 | { read x cmd; echo "$cmd";})"
#判断当前命令和最后记录的命令不等才记录
if [ "${last_command}" != "${msg}" ];then
echo "${date_time} ${msg}" >> /opt/history.log
fi
}
export PROMPT_COMMAND=my_history
以上是关于Linux 环境变量PROMPT_COMMAND的主要内容,如果未能解决你的问题,请参考以下文章
Linux 利用 PROMPT_COMMAND 实现审计功能
8.6 管道符和作业控制;8.7—8.8 shell变量(上下);8.9 环境变量配置文件
五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/shell变量 8.8 shell变量 8.9 环境变量配置文件