码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 环境变量PROMPT_COMMAND

时间:2020-06-13 10:48:05      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:linux   获取   read   cal   环境变量   ash   历史   echo   重复   

关于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   获取   read   cal   环境变量   ash   历史   echo   重复   

原文地址:https://www.cnblogs.com/runbean/p/13111659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!